TabControl循环回到第一个选项卡。这可以预防吗?

时间:2012-01-18 18:45:40

标签: c# wpf tabcontrol

当WPF TabControl具有焦点时,箭头键可用于切换活动选项卡。但是,在我到达最终选项卡后,它再次循环回到第一个选项卡。我想阻止这一点,以便用户在应用程序中获得更多应该完成的这种感觉。 有任何想法吗?感谢。

3 个答案:

答案 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();
            }
        }
    }