命令可以执行空整数

时间:2018-08-21 12:10:37

标签: c# xaml mvvm

我在模型类中有一个绑定到可为空的整数的文本框。我的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;
     }      
}

0 个答案:

没有答案