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
上一篇: 一元二次方程
下一篇: HihoCoder-1174拓扑排序