【WPF】Winform调用WPF窗体注意事项

 1、需要添加一些引用

2、调用处使用如下方法进行调用

Window win= new Window();
ElementHost.EnableModelessKeyboardInterop(win);
WindowInteropHelper winHelper = new WindowInteropHelper(win);
winHelper.Owner = this.Handle;
win.Show();

没有ElementHost.EnableModelessKeyboardInterop(wpfwindow)WPF快捷键无效。

WindowInteropHelper类作用是为WPF设置owner。

时间: 2024-11-10 20:04:27

【WPF】Winform调用WPF窗体注意事项的相关文章

WinForm 与WPF 窗体之间的想到调用

先放置一个容器控件,并设计 好WinForm(或WPF)窗口 winform 调用 wpf ElementHost el = new ElementHost(); el.Dock = DockStyle.Fill; this.panelStation.Controls.Add(el); ucStationMess_WPF stat = new ucStationMess_WPF(); el.Child = stat; 其中,panelStation 为winform 的窗口控件 ucStatio

C#winform中调用wpf

原文:C#winform中调用wpf 在WinForm中是可以使用WPF中的控件(或者由WPF创建的自定义控件) 1.新建一个winform项目: 2.在解决方案上新建一个wpf项目: 如图: 如果有如下错误,就在winform中的引用添加System.xaml的引用即可: 错误 1 类型“System.Windows.Markup.IComponentConnector”在未被引用的程序集中定义.必须添加对程序集“System.Xaml, Version=4.0.0.0, Culture=ne

WinForm中调用WPF控件

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

在WPF中调用Winform控件

最近在项目中用到了人脸识别和指纹识别,需要调用外部设备和接口,这里就用到了在WPF中调用Winform控件. 第一步,添加程序集引用.System.Windows.Forms和WindowsFormsIntegration 第二步,添加对Winform控件的引用(选中部分) 第三步,添加控件(包在WindowsFormsHost中)

WPF 委托 事件 B窗体调用A窗体方法

原文:WPF 委托 事件 B窗体调用A窗体方法 具体实现 A窗体 中加载B窗体  B窗体触发A窗体里的方法 当点击B窗体确定Button事件   给A窗体俩个TextBox赋值 并关闭B窗体 B窗体 1)定义参数类 2)定义委托 定义委托事件 3) 定义触发事件方法 4) 触发事件方法 A窗体 1)实例化B窗体对象 2)注册定义的事件 3) 实现事件 代码 B窗体 1)定义参数类 也就是 我传过去了俩个字段(这俩个字段 让我封装成的类) //对象 public class ItemEventAr

逆天通用水印支持Winform,WPF,Web,WP,Win10。支持位置选择(9个位置 ==》[X])

好几天没上QQ了,今天上了个QQ,,额....额...貌似消息还挺多,没及时回复的还请见谅~~刚好昨天无聊把水印这快封装出来了,支持图片水印,文字水印,索引图水印和非索引图水印,支持位置选择(9个位置 ==>[X]).好吧不高兴屁话了,软件是WPF的(只满足我的需求,如果有需要可以出第个二版本),水印核心代码封装了个Helper类(通用:支持Winform,WPF,Web,WP,Win10)软件共享一下==>http://pan.baidu.com/s/1qWDwv4C 源码看下面 水印类 /

C# 在winform或者wpf中显示控制台窗口

这儿需要使用两个系统函数: BOOL WINAPI FreeConsole(void); //// 关闭控制台窗口,参考:http://msdn.microsoft.com/en-us/library/ms683150%28VS.85%29.aspx BOOL WINAPI AllocConsole(void); //// 打开控制台窗口,参考:http://msdn.microsoft.com/en-us/library/ms681944%28VS.85%29.aspx对应DLL:Kernel

利用SendMessage实现winform与wpf之间的消息传递

引言    有一次心血来潮,突然想研究一下进程间的通信,能够实现消息传递的方法有几种,其中win32api中的sendmessage就是当中的一种比较简单的方法.于是参考了网上各种资料,做了一个小demo. 发送方Winform    1.新建一个Winform项目,添加控件,如下 2.界面做好,接着来编写代码,首先利用DllImport来声明SendMessage函数原型,如下: [DllImport("User32.dll")] private static extern int

Winform,Wpf快捷键

基类 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Windows.Forms; 6 using System.Windows.Input; 7 using WUtilitiesV01.Controls; 8 9 namespace WUtilitiesV01.Services 10 { 11 public abstract