弹指一挥间

好好做事,学习待人 (大数据分析/.NET/JAVA)技术交流QQ:860280456; .NET/JAVA技术交流群:192028174

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

在WPF中使用Winform控件

<Window x:Class="WPFApplication.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:winforms="clr-namespace:WindowsFormsControl;assembly=WindowsFormsControl"
xmlns:my="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
Title="Window1" Height="300" Width="300" >
<Grid>
<my:WindowsFormsHost Name="windowsFormsHost1">
<winforms:UserControl1 x:Name="myControl" ButtonText="Click me!" />
</my:WindowsFormsHost>
</Grid>
</Window>

其中xmlns:winforms=…为导入命名空间和程序集名称
<Grid>中的标记为winform用户控件

 

Winform中使用WPF控件,需要添加以下几个与WPF相关的引用:
* PresentationCore
* PresentationFramework
* System.Xaml
* WindowsBase
* WindowsFormsIntegration

 

void WPFInWinform()
{
//创建WPF控件
System.Windows.Controls.TextBox wpfTxt = new System.Windows.Controls.TextBox();
wpfTxt.Name = "txName";
wpfTxt.Text = "WPF TextBox";
//创建使用WPF控件的容器
ElementHost elementHost = new ElementHost();
elementHost.Dock = DockStyle.None;
elementHost.Width = 150;
elementHost.Height = 50;

elementHost.Child = wpfTxt;
this.Controls.Add(elementHost);
}

 

可以在界面上面选择Child

image

image

posted on 2013-07-02 06:58  v.e.n.u.s  阅读(3251)  评论(0编辑  收藏  举报