首页 > 其他分享 >如何在WPF中调用Winform控件

如何在WPF中调用Winform控件

时间:2022-12-05 11:05:39浏览次数:42  
标签:控件 wfi Windows System Forms Grid WPF Winform


功能实现主要分三步:
1、添加两个引用: WindowsFormsIntegration.dll (负责整合WPF和Windows)、System.Windows.Forms.
2、在 XAML文件中添加两个引用(粗体部分):

<Window x:Class="CrossBowDemo.MainWindow"


xmlns:wfi ="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"

xmlns:wf ="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"


xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

Title="Hosting Windows Forms Control In WPF"

Height="300"

Width="650"

ResizeMode="NoResize"

Loaded="WindowLoadedHandler"

>


</Window>

如何在WPF中调用Winform控件_properties


3、在XAML编码区实现你想添加的控件:


    原文添加的是 DataGridView控件:


如何在WPF中调用Winform控件_forms_02

<
wfi:WindowsFormsHost >
<!--
Set some properties on Windows Forms control in Xaml -->
<
wf:DataGridView x:Name ="dataGridView" Dock ="Fill" SelectionMode ="FullRowSelect" />
</
wfi:WindowsFormsHost >



效果图:

如何在WPF中调用Winform控件_winform_03




本人添加的是 NumericUpDown控件:




如何在WPF中调用Winform控件_windows_04

<       Grid 
Height ="0" Margin ="146,0,0,116" MinHeight ="20" MinWidth ="20" Name ="grid1" VerticalAlignment ="Bottom" HorizontalAlignment ="Left" Width ="50" >
< wfi:WindowsFormsHost
>
< wf:NumericUpDown
x:Name ="nupCounter" Maximum ="100" ></ wf:NumericUpDown >
</ wfi:WindowsFormsHost
>
</ Grid
>


效果图:


如何在WPF中调用Winform控件_wpf_05



在本人的代码中Grid的作用相当于Web页面中用来布局的Table。 此处加上Grid是为了方便移动控件的位置。



标签:控件,wfi,Windows,System,Forms,Grid,WPF,Winform
From: https://blog.51cto.com/u_11295556/5911556

相关文章

  • 【分享】深入浅出WPF全系列教程及源代码
    由于原书作者的一再要求,在此声明,本书中的部分内容引用了原书名为《深入浅出WPF》的部分内容,如果博文不能满足你现有的学习需要,可以购买正版图书!本人10月份提出离职,但是交接......
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:BarcodeReader组件
    本文简述如何在Smobiler中使用BarcodeReader组件进行条码识别。Barcodereader通过机器学习能识别不规则条码,效率更好。Step1.新建一个SmobilerForm窗体,并在窗体中加入......
  • 安卓控件认识
    1.textViewhttps://www.runoob.com/w3cnote/android-tutorial-textview.html1.基础属性详解:带阴影的TextView 带边框的TextView带图片(drawableXxx)的TextView2.bu......
  • WinForm混合Blazor(中)
    在上一篇中介绍了一下razor文件中,js与c#之间的相互调用,但WinForm和Blazor混合中,没有真正与WinForm进行交互,本篇来说明一下。WinForm中混合Blazor是通过ServiceCol......
  • WinForm混合Blazor(下)
    有时,为了省事,我们也可以把窗体的控件注入到ServiceCollection中,在razor中订阅事件,这样就省了中间的桥梁,直接用控件当桥梁,下面以一个Button和Timer为例,来展示使用方式。......
  • WinForm混合Blazor(下)
    有时,为了省事,我们也可以把窗体的控件注入到ServiceCollection中,在razor中订阅事件,这样就省了中间的桥梁,直接用控件当桥梁,下面以一个Button和Timer为例,来展示使用方式。......
  • WinForm混合Blazor(中)
    在上一篇中介绍了一下razor文件中,js与c#之间的相互调用,但WinForm和Blazor混合中,没有真正与WinForm进行交互,本篇来说明一下。WinForm中混合Blazor是通过ServiceColle......
  • WinForm混合Blazor(下)
    有时,为了省事,我们也可以把窗体的控件注入到ServiceCollection中,在razor中订阅事件,这样就省了中间的桥梁,直接用控件当桥梁,下面以一个Button和Timer为例,来展示使用方式。......
  • WinForm混合Blazor(中)
    在上一篇中介绍了一下razor文件中,js与c#之间的相互调用,但WinForm和Blazor混合中,没有真正与WinForm进行交互,本篇来说明一下。WinForm中混合Blazor是通过ServiceCol......
  • WPF 读写自定义配置文件
    程序集如下usingSystem.Windows;namespaceWpfApp1{///<summary>///MainWindow.xaml的交互逻辑///</summary>publicpartialclassMainW......