繁体   English   中英

在Win Form中托管WPF时的主要绑定问题

[英]key binding issues when hosting WPF in Win Form

我们有一个WPF组件(用户控件),该组件通过ElementHost托管在Win Form中。 WPF组件通过以下方式定义为ElementHost的子级:

ElementHostControl.Child = wpfFrame

我们希望将某些键绑定从Win窗体传递到WPF窗体。 我们是通过KeyBinding()实现的。 然后将键绑定分配给WPFFrame.InputBindings.add(curBinding);

尽管我没有测试所有组合键,但可以与大多数组合键一起使用。 但Ctrl + B,Shift + P等似乎都可以正常工作。

但是我尝试了Shift +(向左键),它不起作用。 有趣的是,当我在独立的WPF应用程序中尝试它时,它就按预期完成了工作。

我确保数据流经完全相同的代码,但是为什么Shift + P可以工作而Shift + <-不能工作? 现在,我在执行的WPF Commend中设置一个断点,并从Win Form运行它。 我使用键绑定触发另一个命令,然后使用Ctrl + <-触发实际上“有时”起作用的有问题的命令。 如果我删除断点并执行Ctrl + <-,则它永远不会触发关联的命令。

我怀疑这是WPF和Win窗体之间的集成问题,因为Shift + <-在WPF本身中起作用。

任何输入表示赞赏。

这确实是一个重点问题。 设置断点和该行:var v = Keyboard.FocusedElement;

在运行时显示,焦点被各种元素所窃取。 我需要手工挑选其中几个,并在XAML中设置Focusable =“ False”。 问题已解决!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM