WPF Command 传参的几种方式
Command可以根据CommandParameter传参
关键代码
public ICommand SubmitCommand => _submitCommand;
private RelayCommand _submitCommand = new RelayCommand(new Action<object>(ShowMessage));
private static void ShowMessage(object obj)
{
MessageBox.Show(obj.ToString());
}
<TextBox Name="textBox1"></TextBox>
<Button Command="{Binding SubmitCommand}" CommandParameter="{Binding ElementName=textBox1,Path=Text}" Content="提交参数"></Button>
也可以这样绑定
<Label Grid.Row="0">姓名:</Label>
<TextBox Name="name" Grid.Row="0" Grid.Column="1" Text="{Binding Person.Name}"></TextBox>
<Label Grid.Row="1">年龄:</Label>
<TextBox Name="age" Grid.Row="1" Grid.Column="1" Text="{Binding Person.Age}"></TextBox>
<Button Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" Command="{Binding SubmitCommand}" CommandParameter="{Binding Person}" Content="提交参数"></Button>
示例代码
Command与Click的关系
Command用于后台操作,click用于前台展示、交互,可以共存
学习技术最好的文档就是【官方文档】,没有之一。
还有学习资料【Microsoft Learn】、【CSharp Learn】、【My Note】。
如果,你认为阅读这篇博客让你有些收获,不妨点击一下右下角的【推荐】按钮。
如果,你希望更容易地发现我的新博客,不妨点击一下【关注】。