欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

wpf-mvvm的绑定、命令

程序员文章站 2022-06-07 15:15:17
...

以prism为例 mvvmlight类似
一、无参

public ICommand RefreshCommand { set; get; }
RefreshCommand = new DelegateCommand(this.Refresh);
<Button Command="{Binding RefreshCommand}">

二、有参
这种复杂点 我是用在datagrid控件中的button 参数是从CommandParameter中取

public ICommand EditCommand { set; get; }
EditCommand = new DelegateCommand<object>(t => Edit(t));
<Button Content="编辑" Width="25" Height="25" Background="Yellow" Foreground="White"
                                        CommandParameter="{Binding ID}"
                                        Command="{Binding DataContext.EditCommand,
                                                  RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=DataGrid}}"
                                            />

总结: ICommend定义 用DelegateCommand实例化 把方法作为Action 如果需要代参
就需要CommandParameter和RelativeSource

相关标签: 学习笔记