在我解释之前,我将提供代码,因为在这种情况下,这是表达问题的最佳方式。一个简单的WPF窗口,他的基节点包含:
<StackPanel>
<Menu>
<TextBox x:Name"A" Width="200" />
</Menu>
<TextBlock Margin="0,10,0,0">--richTB--</TextBlock>
<RichTextBox x:Name"B" />
<TextBlock Margin="0,10,0,0">--simpleTB--</TextBlock>
<TextBox x:Name"C" />
</StackPanel>
现在,如果焦点在buttom TextBox
(C)中,并且通过鼠标单击我将焦点移动到菜单(A)中的顶部TextBox
,然后我点击{{ 1}}键,焦点返回到按钮Enter
(C)。 TextBox
MenuItem
键选择&#34; Enter
的此行为并返回焦点。一切都很正常。
但是,如果我关注RichTextBox
(B),然后我通过顶部TextBox
(A),当我点击返回时,光标将保留在框中。
我做了另一个小测试,我在听PreviewKeyDown
&amp;菜单(A)中KeyDown
的{{1}}个事件。所以:
TextBox
我发现了什么?在焦点首先是<Menu>
<TextBox Width="200" KeyDown="TB_KeyDown" PreviewKeyDown="TB_PreviewKeyDown" />
</Menu>
(B)然后在菜单(A)中的RichTextBox
中的最后一个场景中,没有收听TextBox
KeyDown
密钥!