我的WPF应用程序中有一个带有多个选项卡的选项卡控件。每个选项卡都可以访问多个按钮,文本框,下拉列表。现在,在移动到下一个选项卡之前,要检查选项卡中每个控件中的有效条目,或者不应允许跳转到下一个选项卡。怎么办呢?
我能够使用IsEnable属性来执行此操作。但是我想要它,当我点击下一个标签时,它应该在不进入下一个标签的情况下显示一个警告,表明当前标签中的此类条目无效。
答案 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)
它明确地展示了如何做到这一点,而Josh在WPF世界中是众所周知的(并受到尊重)。