跳转到下一个标签

时间:2012-06-28 17:32:28

标签: c# .net wpf

我的WPF应用程序中有一个带有多个选项卡的选项卡控件。每个选项卡都可以访问多个按钮,文本框,下拉列表。现在,在移动到下一个选项卡之前,要检查选项卡中每个控件中的有效条目,或者不应允许跳转到下一个选项卡。怎么办呢?

我能够使用IsEnable属性来执行此操作。但是我想要它,当我点击下一个标签时,它应该在不进入下一个标签的情况下显示一个警告,表明当前标签中的此类条目无效。

2 个答案:

答案 0 :(得分:1)

如果您遵守Selected事件,则可以执行以下操作:

// Keep a global variable for the previous index
int prevIndex = 0;

private void tabControl_Selected(object sender, TabControlEventArgs e)
{
    TabControl tc = sender as TabControl;
    if (tc != null)
    {
        bool letSwitchHappen = validateTabControls(tc.SelectedIndex);
        if (!letSwitchHappen)
        {
            tc.SelectedIndex = prevIndex;
        }
        prevIndex = tc.SelectedIndex;
    }
}

validateTabControls类似于:

private bool validateTabControls(int tabIndex)
{
    bool validEntries = false;
    // Some code here to set validEntries according to the control at tabIndex
    return validEntries;
}

答案 1 :(得分:0)

看看这个example from Josh Smith

它明确地展示了如何做到这一点,而Josh在WPF世界中是众所周知的(并受到尊重)。