一步步实现 Prism + MEF(二)--- 绑定命令
2017-12-18 10:11
183 查看
Prism程序集为我们提供了DelegateCommand命令,使用该命令可实现窗口直接绑定。
第一步:在ViewModel中定义一个DelegateCommand属性。
第二步:添加Save和CanSave两个命令相关的方法。
第三步:在ViewModel的构造函数中初始化DelegateCommand命令,并传入第二步定义好的两个方法。
第四步:定义当发生什么事件触发命令的CanExecute事件,这里我们定义为当属性值改变时触发。
第五步:在窗体为按钮绑定该Save命令。
完成:运行程序,按钮默认不可用,当Slider的值滑动到5,按钮变为可用,点击按钮将弹出对话框。
第一步:在ViewModel中定义一个DelegateCommand属性。
public DelegateCommand<object> SaveCommand { get; set; }
第二步:添加Save和CanSave两个命令相关的方法。
private void Save(object obj) { System.Windows.MessageBox.Show("save command"); } private bool CanSave(object arg) { return Total > 5; }
第三步:在ViewModel的构造函数中初始化DelegateCommand命令,并传入第二步定义好的两个方法。
public UserManageViewModel() { SaveCommand = new DelegateCommand<object>(Save,CanSave); }
第四步:定义当发生什么事件触发命令的CanExecute事件,这里我们定义为当属性值改变时触发。
public UserManageViewModel() { SaveCommand = new DelegateCommand<object>(Save,CanSave); this.PropertyChanged += UserManageViewModel_PropertyChanged; } private void UserManageViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { this.SaveCommand.RaiseCanExecuteChanged(); }
第五步:在窗体为按钮绑定该Save命令。
<StackPanel DockPanel.Dock="Right" Width="100" Orientation="Vertical"> <Slider Value="{Binding Total}"></Slider> <Button Content="save" Command="{Binding SaveCommand}" /> </StackPanel>
完成:运行程序,按钮默认不可用,当Slider的值滑动到5,按钮变为可用,点击按钮将弹出对话框。
相关文章推荐
- 一步步实现 Prism + MEF(二)--- 绑定命令
- 一步步实现 Prism + MEF(一)--- 搭建框架
- 一步步实现 Prism + MEF(一)--- 搭建框架
- Prism中如何实现一般路由事件的绑定
- Windwos Phone MVVM Light的 EventToCommand 命令绑定实现方式
- WPF与MVVM的实现(四)命令绑定
- [Prism练习] Prism下MVVM中命令绑定的CanExecute问题
- ARP 命令运行实现静态IP/MAC绑定
- WPF Prism框架下基于MVVM模式的命令、绑定、事件
- 一步步学Linux网络编程--ping命令的实现分析
- MVVM模式解析和在WPF中的实现(三)命令绑定
- Prism中如何实现一般路由事件的绑定之TreeView
- (转贴)使用Repeater实现自定义多列数据绑定
- android使用篇 注解实现绑定控件实例化
- 基于asp.net + easyui框架,一步步学习easyui-datagrid——实现分页和搜索(二)
- C语言实现su命令
- 设计模式之六:命令模式(简单实现(餐厅点餐模拟流程))
- paip.提高工作效率--数据绑定到table原则和过程Angular js jquery实现
- 网络绑定MAC地址时通过TPLINK迷你路由器实现其他设备上网的方法
- 使用 php ssh2 模块实现远程执行命令