如何在wpf中使用winform控件或者winform的自定义控件

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

在WPF(Framework框架)中使用winform控件或者winform的自定义控件


一、添加引用

WindowsFormsIntegration.dll (负责整合WPF和Windows)
System.Windows.Forms.dll (WinForm自带的控件库)
提示:这两个引用都是在程序集中可以直接找到的
ControlLib_k.dll(自定义的控件库)

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

xmlns是XML_Namespace的缩写,用来引用程序集和其中的命名空间,类似C#的using。语法格式:
xmlns[:可选的映射前缀]=“名称空间”
类似网址的名称空间是XAML解析器硬性编码后的字符串,包含对多个程序集(.dll)的引用。如果引用单个外部的程序集,名称空间的写法如下:
xmlns:映射名=“clr-namespace:类库中名称空间的名字;assembly=类库文件名”

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

三、在WPF中使用WinForm或自定义控件

< wfi:WindowsFormsHost > </ wfi:WindowsFormsHost >为WinForm控件的宿主容器,每个宿主容器只能放一个Winform控件

<Grid>
  < wfi:WindowsFormsHost >
    < wf:NumericUpDown x:Name ="nupCounter" Maximum ="100" ></ wf:NumericUpDown >  //引用WinForm自带控件
  </ wfi:WindowsFormsHost >
  < wfi:WindowsFormsHost >
    <ck:Btn_Open x:Name ="openBtn" Text="打开"></ wf:NumericUpDown >  //引用自定义控件
  </ wfi:WindowsFormsHost >
</Grid>

总结

WPF中标签对象的Attribute(特征)与自定义控件的属性不是完全映射,而且标签的Attribute的值只能是字符串,自定义控件的部分属性需要编写特定的类型转换器(TyperConverter)才能使用字符串进行赋值
原文:https://blog.csdn.net/mxhbaba/article/details/110389335

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值