在WPF中使用WinForm控件方法

2021-03-29 14:24

阅读:414

标签:code   布局   local   change   stack   17.   使用   访问   文件的   

原文:在WPF中使用WinForm控件方法

1、      首先添加对如下两个dll文件的引用:WindowsFormsIntegration.dll,System.Windows.Forms.dll。

2、      在要使用WinForm控件的WPF窗体的XAML文件中添加如下内容:

即:

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

3、       在WPF的容器控件内如StackPanel内首先要添加WinForm控件的宿主容器,用于衔接WPF和WinForm,

对应XAML如下:

 StackPanel>
            wfi:WindowsFormsHost>
                wf:Label x:Name="wfLabel" Text="winForm控件在此" />
            wfi:WindowsFormsHost>

            wfi:WindowsFormsHost>
                wf:Button x:Name="wfButton" Text="确定" Click="wfButton_Click" />
            wfi:WindowsFormsHost>           

            Button Content="Button" Margin="10" Name="button1"/>
StackPanel>

说明:即为WinForm控件的宿主容器,每一个宿主容器只能放一个WinForm控件,如下例,放了三个WinForm控件,分别放在三个宿主容器里面,该容器可以设置属性来调整大小和布局。

注意:如上我添加的WinForm控件如在指定其Name时,必须加前缀x:,如添加Lable时

完整XAML如下:

Window x:Class="ChangeDetection.Window4"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:ChangeDetection"
        xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
        xmlns:wfi ="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
        mc:Ignorable="d"
        Title="Window4" Height="300" Width="300">
    
        StackPanel>
            wfi:WindowsFormsHost>
                wf:Label x:Name="wfLabel" Text="winForm控件在此" />
            wfi:WindowsFormsHost>

            wfi:WindowsFormsHost>
                wf:Button x:Name="wfButton" Text="确定" Click="wfButton_Click" />
            wfi:WindowsFormsHost>           

            Button Content="Button" Margin="10" Name="button1"/>
        StackPanel>

Window>

 

在WPF中使用WinForm控件方法

标签:code   布局   local   change   stack   17.   使用   访问   文件的   

原文地址:https://www.cnblogs.com/lonelyxmas/p/9301041.html


评论


亲,登录后才可以留言!