我的 WPF 应用程序中有一个带有多个选项卡的选项卡控件。每个选项卡都可以访问多个按钮、文本框、下拉菜单。现在,在移动到下一个选项卡之前,要检查选项卡中每个控件中的有效条目,或者不允许跳转到下一个选项卡。如何才能做到这一点?
我能够使用 IsEnable 属性来执行此操作。但是我希望它像,当我单击下一个选项卡时,它应该在不进入下一个选项卡的情况下显示警告,即当前选项卡中的某某条目无效。
如果您遵守该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;
}
它明确地展示了如何做到这一点,并且 Josh 在 WPF 世界中是众所周知的(并且受到尊重)。