好的,我们说我在一个窗口中有15个文本框。我在窗口中也有一个按钮,可以使用ICommand界面启用它。我希望接口的CanExecute methed返回false,如果说10个文本框中的任何一个是空白的话。这些5个文本框可能未在物理窗口中组合在一起。无论如何将这五个文本框组合在一起,这样我就不必遍历窗口中的每个文本框并使用一堆if / else语句来查看它们是否为空白?提前感谢您的帮助。
答案 0 :(得分:1)
使用绑定
<TextBox Text="{Binding Text1}" ... />
...
<TextBox Text="{Binding Text33}" ... />
视图模型:
string[] _text = new string[33];
// repeat this 33 times
public string Text1
{
get { return _text[0]; }
set
{
_text[0] = value;
OnPropertyChanged();
SomeCommand.Update(); // evaluate CanExecute
}
}
SomeCommand = new DelegateCommand( ... , !_text.Any(o => o.IsNullOrEmpty()));
请参阅DelegateCommand。