リトル私はWPFウィンドウにボタンがある場合はDelegateCommand
を困惑有効にして、私はボタン場合
CommandDelete = new DelegateCommand<string>(OnDeleteExecute, OnDeleteCanExecute);
を添付DelegateCommand
<Button Grid.Row="1" Content="Remove" Command="{Binding CommandDelete }" />
にそして、私の簡単なのviewmodelにバインドリストから項目を選択すると有効になります。リストの項目を自分のビューモデルのプロパティにバインドできます。
Report selectedReport;
public Report SelectedReport
{
get { return this.selectedReport ;}
set { this.selectedReport = value;}
}
private bool OnDeleteCanExecute(string commandParameter)
{
return (this.selectedReport != null);
}
これは、これまでのところ私には罰金だと不足している唯一のことは、これは動作しますが、私は10のボタンを持っている場合は、私の質問は何されてSelectedReport
CommandDelete.RaiseCanExecuteChanged();
用セッターで特定のボタンのCanExecuteイベントを高めることですアイテムが選択されるたびに、または賢い方法があるたびに、各ボタンごとにRaiseCanExecuteChangedを呼び出す必要があります。
ありがとうございます、それを実装し、魅力的に動作します。コードを少しきれいにする – klashagelqvist