前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WPF使用Winform自定义控件

WPF使用Winform自定义控件

作者头像
用户7053485
发布2020-03-12 01:13:32
1.4K0
发布2020-03-12 01:13:32
举报
文章被收录于专栏:Kitty的日常笔记

在WPF的用户控件中使用Winfrom自定义控件的过程:

1、添加引用

WindowsFormsIntegration.dll

System.Windows.Forms.dll

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

代码语言:javascript
复制
 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如下:

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

注意:如上我添加的WinForm控件如在指定其Name时,必须加前缀x:,如添加Lable时<wf:Label x:Name="wpfLabel" Text="我是WPF中的WinForm控件” />,否则后台代码无法访问。

<local:UserControl1 Name="Header" Width="319" Height="30"></local:UserControl1>这个为Winform自定义控件。

代码语言:javascript
复制
<StackPanel>
  <wfi:WindowsFormsHost>
    <local:UserControl1 Name="Header" Width="319" Height="30"></local:UserControl1>
  </wfi:WindowsFormsHost>    
  <wfi:WindowsFormsHost>  
    <wf:Label x:Name="wfLabel" Text="winForm控件在此" />     
  </wfi:WindowsFormsHost>
</StackPanel>

4、 如果要在WPF后台代码中访问上面的Lable,可直接像在WinForm中使用一样。

ok,今天的分享就到这里了,有疑问欢迎指导。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-02-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 在WPF的用户控件中使用Winfrom自定义控件的过程:
  • 1、添加引用
  • 2、在要使用WinForm控件的WPF窗体的XAML文件中添加如下内容:
  • 3、 在WPF的容器控件内如StackPanel内首先要添加WinForm控件的宿主容器,用于衔接WPF和WinForm,
  • 4、 如果要在WPF后台代码中访问上面的Lable,可直接像在WinForm中使用一样。
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档