多个命令参数wpf按钮对象
如何从WPF
Button
发送多个参数? 我能够正确发送TextBox
值的单个参数。 这是代码。
XAML
Code behind
public ICommand CommandClick { get; set; } this.CommandClick = new DelegateCommand(AddAccount); private void AddAccount(object obj) { //custom logic }
如何从wpf中的按钮发送多个参数。
您只能发送一个参数作为CommandParameter
。
更好的解决方案通常是将TextBox
和其他控件绑定到ViewModel中的多个属性。 然后该命令可以访问所有这些属性(因为它在同一个类中),根本不需要命令参数。
除了使用在您的类中定义属性的方法(让我们称之为您的ViewModel)由您的视图绑定之外,有时候(不常见)我们不想这样做,这是一个重要的工具,可以在这些情况是MultiBinding,所以为了完整起见,即使你对第一个选项感到满意,我也将介绍另一种方法。
所以回答你的问题:
1. MVVM方法:
使用MVVM方法并定义要由视图绑定的属性,并在ViewModel命令中使用这些属性,而无需CommandParameters。
2. MultiBinding 🙁 可以幸福地使用MVVM方法)
将命令参数作为Multi Binded参数传递,如下所示:
使用IMultiValueConverter
接口定义转换器:
public class MyMultiConverter: IMultiValueConverter { public object Convert(object[] values, ...) { return values.Clone(); } }
并提取值:只需将命令中的参数作为Object[]
引用,并按照与MultiBinding中相同的顺序使用参数。