2

我的 WPF 应用程序中有一个带有多个选项卡的选项卡控件。每个选项卡都可以访问多个按钮、文本框、下拉菜单。现在,在移动到下一个选项卡之前,要检查选项卡中每个控件中的有效条目,或者不允许跳转到下一个选项卡。如何才能做到这一点?

我能够使用 IsEnable 属性来执行此操作。但是我希望它像,当我单击下一个选项卡时,它应该在不进入下一个选项卡的情况下显示警告,即当前选项卡中的某某条目无效。

4

2 回答 2

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;
}
于 2012-06-28T17:46:15.073 回答
0

看看Josh Smith 的这个例子

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

于 2012-06-28T18:29:40.477 回答