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()
        {
            
        }

        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()
        {
            
        }

        private bool CanExecute()

        {
            return IsEnabled;
        }

方法三

1、   定义属性。

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()
        {
            
        }

    

猜你喜欢

转载自blog.csdn.net/lnc2003/article/details/82849746