我有一个互操作方案,其中winform文本框托管在WPF窗口中。我正在使用windows inputbindings来将命令中继到后端组件。除了使用向上,向下,向左,向右等箭头键的命令外,这种方法运行良好。当它们运行时,它们似乎由文本框处理,而不是冒泡到主窗口。有没有办法手动冒泡键盘命令或我可以设置的文本框上的设置?
要复制,请创建一个包含windowformhost组件的窗口并添加一个inputbinding。处理其他关键字但不使用箭头键。
<Window>
<WindowsFormsHost x:Name="Tb">
</WindowsFormsHost>
</Window>
public MainWindow()
{
InitializeComponent();
this.InputBindings.Add(new InputBinding(new DelegateCommand(() =>
{
var s = '0';
}), new KeyGesture(Key.Up, ModifierKeys.Control)));
Tb.Child = new TextBox();
}
由于