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

WPF闪烁预警动画的控件制作及winform调用WPF控件的方法 阅读详情

前言

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


一、添加引用

WindowsFormsIntegration.dll
System.Windows.Forms.dll

提示:这两个引用都是在程序集中可以直接找到的

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

代码如下(示例)

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

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

xaml文件代码如下(示例)

<Grid  Grid.Row="1">
	<DockPanel Name="m_panel">
		<WindowsFormsHost x:Name="host" Margin="0,0,0,0" />
	</DockPanel>
 </Grid>

在代码中定义UserControl1 user= new UserControl1 (); 这里不要忘记添加引用。
UserControl1 是我的自定义控件
然后再将控件放入WindowsFormsHost 中,使用这句代码 : host.Child = user;


四、在WPF中使用WinForm控件

xaml文件代码如下(示例)

<Grid  Grid.Row="1">
	<wfi:WindowsFormsHost>  
                <wf:Label x:Name="wfLabel" Text="winForm控件在此" />     
       </wfi:WindowsFormsHost>
 </Grid>

补充

在WPF中使用WinForm或自定义控件,如果出现设置了控件,也没有报错,但是控件就是不显示,多半是AllowTransparent = “True”这句话出来问题,只需要将True改成False就可以了,如果一定要使用AllowTransparent = “True”,请参考下面这个方法:https://www.jb51.net/article/57535.htm

解决WPF加载Winform控件时的显示遮挡问题 WPF加载Winform控件时总是位于顶层,同位置处再放置WPF控件将会被遮挡。这在实际应用当中,例如:加载视频流时,总是使用Winform的PictureBox控件来显示,如果用WPF去加载这个PictureBox控件,想在上面加个控制按钮或者默认图标时就会出现这个显示层级问题。 例如窗体代码: <Window x:Class="WpfWinformDemo.MainWindow" ... 阅读详情

相关推荐

WPF窗口中使用WinForm控件的一些限制

在wpf中使用WinForm的控件有时候倒是很方便,特别是要使用ActiveX控件的时候必须把它封装成WinForm的控件才能使用,但使用的时候有诸多限制。这两天想在WPF窗口中使用一下WinForm的WebBrowser控件,但是一设置AllowsTransparency="True"属性,那个WebBrowser控件影都没有了,辛苦了两天去找原因,找方法,恍然间看到下面这段话。抄一段《Pr

浮生三笑 三笑浮生 6788

关于wpf在.net core和.net 5之后如何引用System.Windows.Forms的解决方案

请注意:添加这种引用可能会引入不必要的依赖,这可能会增加您的应用程序的大小。因此,除非确实需要,否则通常不建议在WPF项目中引用Windows Forms组件。如果只是为了获取屏幕信息,建议寻找其他方法或第三方库来实现这一功能。在.NET Core和.NET 5及之后的版本中,WPF和Windows Forms都是作为独立的框架提供的。因此,要在.NET 6的WPF项目中引用。,您需要手动编辑项目文件(.csproj文件)并添加相应的框架引用。

水得一P 3796

在Winform中使用MoonPdfLib(Wpf控件)

在Winform中使用MoonPdfLib(Wpf控件) 引用WindowsFormsIntegration.dll,使用ElementHost类的Child属性关联wpf控件 1、新建winform项目,引用以下类库 2、窗体中代码 using System; using System.Collections.Generic; using System.ComponentModel...

冰封的落叶的博客 2629

如何在WPF中使用Winform控件

如何在WPF中使用Winform控件

lainiao110的专栏 4112

WPF中用于嵌入其他进程窗口的自定义控件(AppContainer)

在Windows上开发客户端程序的时候,有时候我们希望能将其他进程的窗口嵌入到我们自己的程序窗口中,从视觉效果上看就像是其他进程的窗口时我们自己的程序窗口的一部分。具体的思路是,调用Windows API的SetParent方法,设置外部进程主窗口的父容器设置为我们自己的程序容器句柄。        在Winforms程序中,很容易实现此功能。但是在WPF中会稍微麻烦一点,因为WPF的容器控件是

zhuowp的专栏 9717

WPF自定义exe进程嵌入控件

原文地址:http://blog.youkuaiyun.com/zhuo_wp/article/details/78830055 转载请注明出处        在Windows上开发客户端程序的时候,有时候我们希望能将其他exe进程的窗口嵌入到我们自己的程序窗口中,从视觉效果上看就像是其他进程的窗口是我们自己的程序窗口的一部分。具体的思路是,调用Windows API的SetParent方法,将外部

zhuowp的博客 4387

关于.Net与WPF之间使用问题的解决

.net与WPF使用Forms出现的问题

arriettyandray的博客 874

在WinForm应用程序中嵌入WPF控件

我们知道,在WPF界面上添加WinForm的控件需要使用WindowsFormHost类。而在WinForm界面上添加WPF控件该如何做呢?有没有类似的类呢?明显是有的,ElementHost就是为了在WinForm应用程序中嵌入WPF元素而定义的。它继承自System.Windows.Forms.Control,是一个WinForm控件,但它知道如何显示WPF内容。   接下来演示如何使用E

6868

WPF如何使用 System.Windows.Forms.FolderBrowserDialog

如果你直接调用它而不传递窗口句柄,它将默认使用当前激活的窗口作为它的所有者。如果你在.NET Core或.NET 5/6/7+应用程序中遇到兼容性问题,考虑使用WPF自带的。在Visual Studio中,可以通过解决方案资源管理器的“引用”部分来添加。在.NET Core或.NET 5/6/7+的WPF应用程序中,可能还需要添加对。是Windows Forms的一部分,不是WPF的一部分。来选择文件夹,你需要添加对WinForms的引用,因为。在你的WPF窗口代码中,你可以创建和使用。

波波诸葛伟 2347

[华为]华为无线控制器AC6508简单配置实例

用户需求:3个地址段,分别是领导、员工、访客,访问控制策略是只允许访客上网,不允许访客访问内网。 vlan173为设备的管理地址和AP获取的地址,领导、员工、访客的vlan分别是vlan131/vlan132/vlan133 首先是许可的下载,使用华为的账号登陆http://app.huawei.com/isdp ,然后按照说明输入许可,下载许可,将许可导入到设备。 web界面访问后,直接按照配置向导配置就可以了。 1.基本配置里主要配置license、设备名称、设备时间 2.端口配置:连接上

日子_很简单 2万+

EPICS电机支持(asynMotor)

EPICS电机支持(asynMotor)

yuyuyuliang00的博客 916

WinCC如何使用C#自定义开发WinForm或者WPF控件(2)

本文主要介绍基于WinCC如何使用C#自定义开发WinForm或者WPF控件(1)开发完成的组件(DLL文件),如何在WinCC中使用WPF自定义控件。

bjhtgy的博客 2658

World Action Model:经典论文

郑困时,图prorpt为机量人压务时,退过驱制解弱词表(constrsinsd decoding), 强附模型只从.256个者动作token中保H, B象总注活地。始VLA之一,RT-2使用了大量的五联网VQ据与少里的机械网的AcSonDat行CoFine-Tunng, 独组sl, 共i744个episode,Mous使用三个专累模,分是vidogonmedel,actonesget,understandng。包的核定之的的观到沟血黄动作,预之后现(vorlemodel),tseing,2。

u013250861的博客 406

WinCC如何使用C#自定义开发WinForm或者WPF控件(1)

WinCC如何使用C#自定义开发WinForm或者WPF控件

bjhtgy的博客 1969

TMS-EEG数据预处理:eeglab工具包TESA(一)

b. 自动选择:Tools -> Reject data epochs -> Reject by probability,然后进行Plot -> channel,进行删除。TMS-EEG(经颅磁刺激-脑电图)是一种结合了TMS和EEG记录的技术,这种技术允许研究者在非侵入的情况下探测大脑环路,评估大脑的兴奋性和连通性等皮层特性。对移除脉冲伪迹的数据进行插值:Tools ->TESA -> Interpolate removed data;插值后,画图查看:数据会有数值;

weixin_43604817的博客 1494

SAP SLT 在 carve-out 场景中的关键作用:从理论到实操全景展现

深入剖析 SAP Landscape Transformation(SLT Replication Server)在 carve‑out 场景中的价值,需要从 carve‑out 本身的背景逻辑说起。carve‑out 指的是企业因并购、拆分、剥离商业单元等因素,而将 SAP 系统中某部分业务(例如组织单元、公司代码、模块数据等) separated 出来,导入到独立的系统中。这一过程极具挑战性,既要确保业务连续性,又要实现数据精准迁移和系统隔离 (

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 7553

wpf mysql防注入_Wpf中加了一个Winform控件DateTimePicker ,怎么样绑定到数据呢

怎么样将选中的日期时间绑定到数据begin,解决方案10DateTimePicker不是DependencyObject类型,无法使用绑定模式,只能后台赋值。25最好的办法是用第三方的WPF的DateTimePicker,例如ExtendedWpfToolKit里就有。假如要一定要绑定Winform的DateTimePicker,就不好用通用的WindowsFormsHost,而要本人添加...

weixin_30474629的博客 588

uniapp | 基于高德地图实现位置选择功能(安卓端)

在uni-app项目中实现地图位置选择功能的解决方案。由于uni.chooseLocation功能受限,采用高德地图API自主开发。系统由父组件poiMap.vue(负责展示和跳转)和子组件poiBox.vue(核心地图逻辑)构成,通过父子组件通信传递位置数据。关键技术包括:1)使用AMapLoader动态加载地图SDK;2)集成PositionPicker实现拖拽选点;3)异步加载AMapUI插件;4)通过事件监听获取位置详情(地址/经纬度)。

大胆尝试,小心实践 732

在WPF中使用Winfrom自定义控件!

由于很多人都是刚接触WPF,所以对WPF的使用感觉不是很习惯!尤其是之前做WinFrom项目的朋友,在写WinFrom的时候,他们可能会自己定义好了一些ueserControl,但是在使用WPF的时候要是在定义一遍的话,我相信这回是很蛋疼的事情!所以我们需要找到一个办法,就是把那些个Winfrom中的自定义控件直接引用到我们的WPF项目中,这样会节省很多的开发时间! 下面以在Wpf中添加Exp...

weixin_30338497的博客 531

AUTOSAR SHE 密钥更新协议

依赖内存槽的使用用例,内存槽有不同的保护协议。M2是新的计数值C_ID‘,相应的标志位F_ID',0填充第一个块,以及新的密钥K_ID'的组合的CBC算法加密的消息。例如,我要更新一个MASTER_ECU_KEY, 那么参考上表,我需要知晓Non-volatile的MASTER_ECU_KEY (即授权密文为MASTER_ECU_KEY自己的密文).内存的更新协议分为两部分,第一部分是实际内存更新到发送一个秘密且真实的key到SHE,然后第二部分为验证,即提供给后台一个key更新成功的证据。

weixin_46481662的博客 3277

面向元数据的 SAP UI 中枢:namespace sap.ui.mdc 全景解析

如果把应用前端比作一条数据到交互的装配线,sap.ui.mdc 就是那条线的标准化工装:以 PropertyInfo 描述原料,以 Delegate 定义装配方法,以 p13n 与 VariantManagement 交付面向个体的最终产物;而 Condition Model、Operator 与 ValueHelp 则让输入与筛选的语义落地。与 OData V4 服务与 Fiori Elements 宏构件组合使用时,它能在保持一致体验的同时,给自由式开发者留下足够的可编排空间。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 238

WinForm和WPF控件的差异

作为Windows桌面UI开发的两大.net开发库,WinForm和WPF同时存在着。之所以功能如此重合的两个库同时存在,是因为两者的底层差异非常大,WinForm底层依赖于传统的Win32API,特别是User32.dll;而WPF则底层依赖于Direct3D。 而我们知道User32和Direct3D两者是平行存在,彼此独立的。WPF之前几乎所有的WindowsUI开发都依赖于User32,当...

qq_23018459的博客 1万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

C# wpf 嵌入winform控件

wpf的强大界面能力,再加上winform的性能以及灵活性,那基本上什么界面都能够做的很好。比如视频渲染用winform,功能按键用wpf,就能达到性能和界面效果和完美结合。wpf有直接的控件支持嵌入winform控件,使用方法也很简单,网上很容易搜到。之所以编写这篇文章,主要用于记录。

codeofcc的博客 4097

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

WinForm如何使用WPF的控件

在WinForm中可以使用WPF中的控件,或者由WPF创建的自定义控件; 步骤1:创建WinForm工程; 步骤2:在WinForm工程的解决方案资源管理器中,在刚刚创建的WinForm解决方案中新建或者添加现有的WPF用户控件工程; 步骤3:在WPF中创建自定义的控件,或者添加WPF控件到面板上; 步骤4:在WinForm面板上添加ElementHost控件(工具箱中);

老和山下的小学童 1959

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

在WPF中使用WinForm控件方法

<br />下面以在Wpf中添加ZedGraph(用于创建任意数据的二维线型、条型、饼型图表的一个开源类库)控件,说明在WPF中使用Winform控件的方法。<br />1、      首先添加对如下两个dll文件的引用:WindowsFormsIntegration.dll,System.Windows.Forms.dll。<br />2、      由于要用到ZedGraph控件,所以也要添加对ZedGraph.dll的引用。<br />3、      在要使用WinForm控件的WPF窗体的XAML文

liancs的专栏 2万+
上一篇: 刚刚开始学习设计模式,一起学习吧
下一篇: SQL语句报错:Incorrect string value: ‘\xE9\x98\xBF\xE6\x96\xAF...‘
加油!加油!再加油!
博客等级 码龄7年 3粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值