WPF Prism 中Command绑定的简单应用
来源:互联网 发布:sql nvl函数 编辑:程序博客网 时间:2024/05/18 08:17
Command 命令绑定,在WPF窗体绑定点击事件时,如果后台逻辑不在xaml.cs中写,而是自己定义的ViewModel,就需要用Command来响应点击事件,在xaml.cs中写时,可以用click,但是需要往cs中传递对象当前对象时,就需要用Command了,下面介绍一下我自己做的简单Command绑定。不是自己实现的Icommand接口,而是用的prism中的。
1、前台代码
<Button Content="增加" Width="120" Margin="3 1 3 1" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Command="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type UserControl}},Path=DataContext.AddPersonCommand}" CommandParameter="{Binding}"/>注意:如果你的button在一个集合的对象中就像如图所示
增加和删除按钮是在修改的模板,而后台需要当前行对应的对象来进行处理,则必须加上
CommandParameter="{Binding}"2、后台代码
///命令private ICommand addPersonCommand; public ICommand AddPersonCommand { get { return addPersonCommand; } set { addPersonCommand = value; OnPropertyChanged("AddPersonCommand"); } }///生成对象 addPersonCommand = new DelegateCommand<object>(OnAddPerson,CanAddPerson);//点击按钮进行的处理方法 private void OnAddPerson(object obj) { var per = obj as Person; if(per!=null) { Person p = new Person(); Persons.Add(p); } }//判断该按钮是否可以点击 private bool CanAddPerson(object obj) { return selectedPersonInfo==null?false :true ; }//根据判断条件来更改是否可以点击 private Person selectedPersonInfo; public Person SelectedPersonInfo { get { return selectedPersonInfo; } set { selectedPersonInfo = value; if(selectedPersonInfo!=null) { DelegateCommand<object> delegateCommand=addPersonCommand as DelegateCommand<object>; delegateCommand.RaiseCanExecuteChanged(); } OnPropertyChanged("SelectedPersonInfo"); } }
源码下载地址:http://download.csdn.net/detail/u011097924/9327253
0 0
- WPF Prism 中Command绑定的简单应用
- WPF TextBox绑定数据的简单应用
- WPF 绑定中Converter的应用
- WPF 命令绑定简单应用
- C# WPF TextBox绑定数据的简单应用
- WPF中ListView小Demo的数据绑定应用.
- WPF中ListView小Demo的数据绑定应用
- WPF中DataGrid控件内Button的Command和CommandParameter的绑定
- WPF中添加一个文本输入框,按Enter回车,执行绑定的Command
- WPF 中Command绑定及InvalidateRequerySuggested使用注意点
- WPF中命令的绑定
- WPF prism下 几种命令按钮绑定方式
- MVVM中轻松实现Command绑定(一)简单绑定
- MVVM中轻松实现Command绑定(一)简单绑定
- 创建第一个基于Prism框架的WPF应用实例(含源码下载)
- WPF DataTemplate绑定的简单学习
- WPF元素绑定--简单
- WPF MVVM后台绑定没有Command属性的控件,绑定任何事件事件
- 黑马程序员之System、Runtime、Math、Date、Calendar类
- 动态引用APK文件
- Android LocalSocket与Socket 区别
- UVA 11624 两次bfs搞搞
- UITextView 光标定位
- WPF Prism 中Command绑定的简单应用
- 关于UI适配的文档
- 计算机网络(浅谈应用层协议原理)
- [OpenGL]OpenGL中的三维变换
- 把事情往苦逼里做
- linux JDK安装
- Shell命令sshpass非交互SSH密码验证
- hud3108--Ant Trip
- SVN的问题