首页 > 其他分享 >wpf使用winform控件

wpf使用winform控件

时间:2023-04-14 09:11:47浏览次数:58  
标签:控件 WindowsFormsHost wfi Windows xmlns wpf 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>

标签:控件,WindowsFormsHost,wfi,Windows,xmlns,wpf,WinForm,winform
From: https://www.cnblogs.com/rb-huang/p/17317234.html

相关文章

  • 栈空间和堆控件:JS数据怎么存储的?
    JS数据存储主要分堆和栈两种,栈空间:通常情况栈空间不会设置太大,主要用来存放一些原始类型的小数据,原始类型的数据有:Boolean、Null、Undefined、Number、BigInt、String、Symbol,栈空间具有空间小,但是读取速度快的特点堆空间:空间很大,但是速度相对堆空间较慢,主要存储引用型的数据,创......
  • WPF 自定义控件 二次渲染 问题记录
    问题将多个自定义控件加载到到一个页面的Grid上显示。然后突然将一个控件从Grid里面清除,控件依然在后台处理数据。过段时间再加入Grid。然后一些已经改变的页面属性就消失了。原因经过查找是一旦控件再次加载,页面属性就会重置。这个有利也有弊端。1是可以利用这点重置页面2......
  • 使用Obfuscar对Winform进行代码混淆
    开发环境:VS2022+Winform(.NetFramework4.6.1),Winform项目A,依赖类库B。第一步,通过Nuget安装Obfuscar。第二步,创建obfuscar.xml文件,设置为“如果较新则复制”,其内容如下:<?xmlversion='1.0'?><Obfuscator><Varname="InPath"value="."/><Varn......
  • Design各控件的搭配使用4
    在上一个版本基础上添加两个Activity:EffectsActivity&TabLayoutActivityEffectsActivity测试了一种效果;TabLayoutActivity中使用的控件:android.support.design.widget.TabLayoutandroid.support.v4.widget.NestedScrollViewandroid.support.design......
  • wpf DataGrid 自动换行
    <DataGridTemplateColumnHeader="内容"Width="5*"MinWidth="70"><DataGridTemplateColumn.CellTemplate><DataTemplate><Tex......
  • WPF 加载框
    加载框代码:<UserControlx:Class="WpfApp1.LoadingForm"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:mc=&q......
  • Winform-自定义按钮_播放图标
    usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Drawing.Drawing2D;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;usingSystem.Management.Inst......
  • 六、WPF 动态设置菜单,非MVVM模式
     随手建了WPF窗口<Windowx:Class="WpfAppTest.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://sch......
  • 通过网页打开winform程序
    winform页面代码:///<summary>///注册表的写入///</summary>///<paramname="sender"></param>///<paramname="e"></param>privatevoidtsmiWriteRegister_Cli......
  • c#之winform—listview中排序 和 ICompare接口和IComparer接口的比较
    要在listview中实现排序,需要用listview.Sorting属性,它接受一个枚举类型的值list_view.Sorting=SortOrder.Ascending;//1为正序>其中None=0,//不排序Ascending=1,//升序Descending=2//降序然后在将ListViewItemComparer这个类的实例......