我在模型类中有一个绑定到可为空的整数的文本框。我的CanExecute方法按预期工作。如果文本框值为0,我希望禁用由命令路由的按钮。但是,当我完全清除文本框时,它不会禁用。如何解决此验证问题?
xaml:
<TextBox Text="{Binding GameStats.TimeoutMinutes, UpdateSourceTrigger=PropertyChanged}"></TextBox>
<Button Command="{Binding CustomizeTimeoutTimeCmd}"/>
模型属性:
private int? timeoutMinutes = 0;
public int? TimeoutMinutes {
get { return timeoutMinutes; }
set {
timeoutMinutes = value;
OnPropertyChanged("TimeoutMinutes");
}
}
命令CanExecute方法:
public bool CanExecute(object parameter) {
if (scoreViewModel.GameStats.TimeoutMinutes == 0 || scoreViewModel.GameStats.TimeoutMinutes == null) {
return false;
} else {
return true;
}
}