次のようなコマンドにバインドされたボタンを表示するWPF アプリケーションを取得しました。
<Button Command="{Binding Path=TestrunStartCommand}" Content="GO!">
コマンドは次のように定義されます。
public ICommand TestrunStartCommand
{
get { return new RelayCommand(TestrunStartExecute, () => !IsTestrunInProgress); }
}
public bool IsTestrunInProgress
{
get{
return _isTestrunInProgress;
}
set{
_isTestrunInProgress = value;
RaisePropertyChanged(IsTestrunInProgressPropertyName);
}
}
IsTestrunInProgress
問題は、 falseに設定した直後にボタンが有効にならず、アプリケーション ウィンドウ内をクリックした後にのみ有効になることです。
この動作を理解し、修正する方法を教えていただけませんか?
さらに読む: wpfコマンドパターン - いつクエリを実行できますか