如果我在一個WPF窗口有一個按鈕,並將其綁定到DelegateCommand
<Button Grid.Row="1" Content="Remove" Command="{Binding CommandDelete }" />
在我簡單的視圖模型附上
CommandDelete = new DelegateCommand<string>(OnDeleteExecute, OnDeleteCanExecute);
如果按鈕是要啓用時,我從列表中選擇一個項目我可以綁定清單selecteditem屬性在我的viewmodel
Report selectedReport;
public Report SelectedReport
{
get { return this.selectedReport ;}
set { this.selectedReport = value;}
}
private bool OnDeleteCanExecute(string commandParameter)
{
return (this.selectedReport != null);
}
這似乎沒什麼問題,到目前爲止並唯一缺少的是在二傳手以增強對特定按鈕CanExecute事件SelectedReport
CommandDelete.RaiseCanExecuteChanged();
這工作,但我的問題是,如果我有10個按鈕做我需要一個項目被選中或者是有作爲
謝謝,實施它,像魅力一樣工作。保持代碼清潔一點 – klashagelqvist 2012-02-02 12:35:38