它似乎工作正常,但我希望能够以Winforms方式处理此控件的KeyPress事件(没有RoutedCommands和inputGestures),所以我虽然可以使用KeyPrevIEw设置处理Form的KeyDown事件,但WPF事件似乎没有冒泡到表格.
基本上,如何以Winforms方式访问WPF控件上的KeyDown事件?
解决方法 您可以尝试为 WpfControl本身添加自定义事件处理程序,而不是尝试连接到WinForm的KeyDown.这是一个例子.假设:你的WinForm是Form1类型,WpfControl是UserControl1,WpfControl的元素主机被调用(不会猜到)) – elementHost.
public Form1(){ InitializeComponent(); elementHost.ChildChanged += ElementHost_ChildChanged;}private voID ElementHost_ChildChanged(object sender,ChildChangedEventArgs e){ var ctr = (elementHost.Child as UserControl1); if (ctr == null) return; ctr.KeyDown += ctr_KeyDown;}voID ctr_KeyDown(object sender,System.windows.input.KeyEventArgs e){ /* your custom handling for key-presses */}
UPD:e.KeyboardDevice.ModifIErs(e是System.windows.input.KeyEventArgs)存储有关Ctrl,Alt等的信息.
总结以上是内存溢出为你收集整理的c# – Winforms中的WPF事件全部内容,希望文章能够帮你解决c# – Winforms中的WPF事件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)