PRISM 6 命令Command 屬性更改時自動通知命令重新更新命令狀態的方法
屬性更改時自動通知命令重新更新命令狀態的方法
方法一
1、 定義屬性。性性中新增此句ExecuteDelegateCommand.RaiseCanExecuteChanged();
private bool _isEnabled; public bool IsEnabled { get { return _isEnabled; } set { SetProperty(ref _isEnabled, value);
ExecuteDelegateCommand.RaiseCanExecuteChanged();
} } 2、定義命令
public DelegateCommand ExecuteDelegateCommand { get; private set; }
3、例項化命令
ExecuteDelegateCommand = new DelegateCommand(Execute, CanExecute);
4、定義執行命令的函式
private void Execute() { UpdateText = $"Updated: {DateTime.Now}"; }
private bool CanExecute()
{ return IsEnabled; }
方法二
1、 定義屬性。
private bool _isEnabled; public bool IsEnabled { get { return _isEnabled; } set { SetProperty(ref _isEnabled, value);
}
} 2、定義命令
public DelegateCommand DelegateCommandObservesProperty { get; private set; }
3、例項化命令
DelegateCommandObservesProperty = new DelegateCommand(Execute, CanExecute).ObservesProperty(() => IsEnabled);
4、定義執行命令的函式
private void Execute() { UpdateText = $"Updated: {DateTime.Now}"; }
private bool CanExecute()
{ return IsEnabled; }
方法三
1、 定義屬性。性性中新增此句ExecuteDelegateCommand.RaiseCanExecuteChanged();
private bool _isEnabled; public bool IsEnabled { get { return _isEnabled; } set { SetProperty(ref _isEnabled, value);
}
} 2、定義命令
public DelegateCommand DelegateCommandObservesCanExecute { get; private set; }
3、例項化命令
DelegateCommandObservesCanExecute = new DelegateCommand(Execute).ObservesCanExecute(() => IsEnabled);
4、定義執行命令的函式
private void Execute() { UpdateText = $"Updated: {DateTime.Now}"; }