我有键盘焦点问题。 这是它现在的工作方式(不正确):
我想通过Popup Close继续最后一个标签焦点,这意味着从3跳到4。
我怎么能这样做,拜托?
<Window>
...
<TextBox />
<MyControl>
...
<Popup>
</Popup>
</MyControl>
<ComboBox />
...
</Window>
FocusableProperty.OverrideMetadata(typeof(ListPicker), new FrameworkPropertyMetadata(true));
答案 0 :(得分:1)
这是做这种事情的一种方法。如果它不太适合您的情况,您可以调整它以满足您的需求。设置关键按下的事件处理程序(可能在窗口上)。如果您在按Tab键时发现正在处理事件,请使用预览键。
internal void OnKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Tab && MyControl.PopupShowed)
{
MyControl.ClosePopup()
window.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
e.Handled = true;
}
}