> 信息中心 >

用WPF写了个用户控件,现在把控件集成在winform当中演示,winform无法捕获键盘事件

来源:互联网 编辑:刘梓楠

有网友碰到过这样的问题:用WPF写了个用户控件,现在把控件集成在winform当中演示,winform无法捕获键盘事件,问题详细内容为:

winform已经设置KeyPreview为true,在winform窗体为空白,无任何控件的情况下,可以捕获Form1_KeyPress等事件,但引用了wpf控件,就取不到了,wpf控件那边也没有什么特别的地方

XAML如下

<UserControl x:Class="WPFImage.UserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WPFImage"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300"
>
<Grid IsManipulationEnabled="True" Background="Transparent">
<Image Name="imgTest" />
</Grid>
</UserControl>

请问怎么才能捕获Form1_KeyPress事件呢

,我搜你通过互联网收集了相关的一些解决方案,希望对有过相同或者相似问题的网友提供帮助,具体如下:

解决方案1:
检查WPF是否取得焦点,这样Winform是无法触发事件的;强制让Winform获取按键焦点。
考虑在WPF的按键事件中添加“e.Handled = false;”,以让按键事件继续传递。 收获园豆:10
============================================
如果在WPF控件中添加一个TextBox,在这个TextBox按键的话,主窗体可以收到消息,怎么才能在这个Image当中处理按键消息呢,因为现在演示主要功能就是图片相关的处理,没有其它控件
============================================
@duxer:
在UserControl的Loaded事件处理函数中添加一句:imgTest.Focus();
并且设置Image属性:Focusable="True"
对于所有默认无法获得焦点的控件都适用。
============================================
@楚人Leo: 可以了,谢谢

请问如何在c#中用WPF调用Winform变写的用户控件,...

答:把自定义控件编译成DLL,然后添加引用

wpf中调用winform用户控件的方法

答:WPF的MainWindow的代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using S...

WPF怎么使用winform的自定义控件

答:Geomam.UserControl1 xx = new Geomam.UserControl1(); System.Windows.Forms.Integration.WindowsFormsHost host = new System.Windows.Forms.Integration.WindowsFormsHost(); host.Child = xx; this.MStackPanel.Children.Add(host);

有什么可以展示全景的winform或者WPF控件

答:在WinForm中可以使用WPF中的控件,或者由WPF创建的自定义控件; 步骤1:创建WinForm工程; 步骤2:在WinForm工程的解决方案资源管理器中,在刚刚创建的WinForm解决方案中新建或者添加现有的WPF用户控件工程; 步骤3:在WPF中创建自定义的控件,...

winform与WPF有什么区别

答:从程序上讲,都以事件的形式调用处理。 winform开发上比WPF稍容易点,但整体上说其实没多大区别。 WPF基于directX,所以对于3D的处理更好,画面也更加酷炫。 winform的画面设计采用与开发语言相同的语言实现,并保存在相同的代码类型文件中,移...

wpf控件怎样调用winform窗体交互

答:在WinForm项目是无法直接转换WPF项目的,只能重新做。 但在WinForm中是可以使用WPF中的控件(或者由WPF创建的自定义控件) 1.新建一个winform项目; 2.在解决方案上新建一个wpf项目; 如图: 如果有如下错误

怎样在WPF/XAML中使用Winform中的控件

答:在usercontrol的前面加入x:ClassModifier="internal",后台的class前面也要相应地改。 这样其他用户调用你的控件就没法访问里面的控件了。

如何在WPF中嵌入Winform控件

答:1. 新建一个基于.Net Framework 3.5 的WPF 应用程序项目:WPFWMP。 2. 在工程中新建Windows Forms Control Library 项目:WMPControlLibrary。 创建WMP 控件 下面要在WMPControlLibrary 中创建Windows Media Player 控件,在项目中加入Windows M...

关于WinForm绑定WPF用户控件的属性问题。

答:解决方法肯定是有的,但你上面说“调用他的winform里”是怎么回事,你这还是混合平台的吗?

wpf里窗体嵌入winform控件被覆盖问题

答:Send to back。 不过毕竟不是相同的渲染层,如果真的被覆盖到了也没办法。


请注意,本站信息均收集自互联网,相关信息仅供参考,医疗等重要信息请以正规途径为最终意见,本站不承担任何责任!

www.wosoni.com false 互联网 http://www.wosoni.com/blogcnk/mm/ccdfdh.html report 3070 解决方案1:检查WPF是否取得焦点,这样Winform是无法触发事件的;强制让Winform获取按键焦点。考虑在WPF的按键事件中添加“e.Handled = false;”,以让按键事件继续传递。收获园豆:10============================================如果在WPF控件中添加一个TextBox,在这个TextBox按键的话,主窗体可以收到消息,怎么才能在这个Image当中处理按键消息呢,因为现在演示主要功能就是图片相关的处理,没有其它控

热门图片