为了账号安全,请及时绑定邮箱和手机立即绑定

wpf MVVM疑问 求帮忙解析 谢谢!

wpf MVVM疑问 求帮忙解析 谢谢!

眼眸繁星 2018-12-06 13:12:40
初学者 希望能通俗一点解析 谢谢! 代码: viewModel 继承了NotificationObject 这个就是  当属性值set 执行一个方法 RaisePropertyChanged  叫依赖属性。   同理需要一个命令属性 什么一个委托和委托对应的方法 class MainWindowViewModel : NotificationObject { private double input1; public double Input1 { get { return input1; } set { input1 = value; this.RaisePropertyChanged("Input1"); } } private double input2; public double Input2 { get { return input2; } set { input2 = value; this.RaisePropertyChanged("Input2"); } } private double result; public double Result { get { return result; } set { result = value; this.RaisePropertyChanged("Result"); } } public DelegateCommand AddCommand { get; set; }private void Add(object parameter) { this.Result = this.Input1 + this.Input2; } public MainWindowViewModel() { this.AddCommand = new DelegateCommand(); this.AddCommand.ExecuteAction = new Action(this.Add); } ICommand是定义一个命令 下面有2个方法和一个事件 class DelegateCommand : ICommand { public bool CanExecute(object parameter) { if (this.CanExecuteFunc == null) { return true; } return this.CanExecuteFunc(parameter); } public event EventHandler CanExecuteChanged; public void Execute(object parameter) { if (this.ExecuteAction == null) { return; } this.ExecuteAction(parameter); } public Action ExecuteAction { get; set; } public Func CanExecuteFunc { get; set; } } html绑定   问题 Add是怎么和DelegateCommand关联起来的? 上面的代码是ok 的 。关联后怎么就执行了 Execute 里面的ExecuteAction ? 难以理解 求大侠和各位朋友解析下
查看完整描述

5 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

this.AddCommand = new DelegateCommand(); this.AddCommand.ExecuteAction = new Action(this.Add); 就是这样关联的啊兄弟
查看完整回答
反对 回复 2018-12-09
?
蛊毒传说

TA贡献1895条经验 获得超3个赞

我后面明白了 调试
查看完整回答
反对 回复 2018-12-09
?
慕的地10843

TA贡献1785条经验 获得超8个赞

首先要理解DataContext属性和INotifyPropertyChanged接口的原理。直接接触MVVM肯定是不行的。
查看完整回答
反对 回复 2018-12-09
?
梦里花落0921

TA贡献1772条经验 获得超6个赞

你说的对
查看完整回答
反对 回复 2018-12-09
  • 5 回答
  • 0 关注
  • 375 浏览

添加回答

举报

0/150
提交
取消