当WPF TabControl具有焦点时,箭头键可用于切换活动选项卡。但是,在我到达最终选项卡后,它再次循环回到第一个选项卡。我想阻止这一点,以便用户在应用程序中获得更多应该完成的这种感觉。 有任何想法吗?感谢。
答案 0 :(得分:0)
如果需要按特定顺序执行这些步骤,请不要使用选项卡控件。
在这种情况下你应该使用向导界面。
另一方面,如果不需要按特定顺序执行这些步骤,我不知道您为什么要给用户留下这样的印象。
答案 1 :(得分:0)
您是否尝试将KeyboardNavigation.DirectionalNavigation
上的附加属性TabControl
设置为Once
?
答案 2 :(得分:0)
我使用SelectionChanged事件尝试了这种相当严厉的方法。尽管TabControl继续按预期显示“lastTab”,但它仍然会在“loginTab”条目上显示虚线焦点指示符。 Focus()调用不会将焦点保持在最后一个选项卡上。
private void TabControl_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (e.Source == wizardTabs && e.RemovedItems.Count != 0 && e.AddedItems.Count != 0)
{
TabItem fromItem = e.RemovedItems[0] as TabItem;
TabItem toItem = e.AddedItems[0] as TabItem;
if (fromItem.Name == "lastTab" && toItem.Name == "firstTab")
{
e.Handled = true;
wizardTabs.SelectedItem = fromItem;
fromItem.Focus();
}
}
}