如何传递多个参数 RelayCommand? [复制]
Posted
技术标签:
【中文标题】如何传递多个参数 RelayCommand? [复制]【英文标题】:How to Passing multiple parameters RelayCommand? [duplicate] 【发布时间】:2012-01-06 23:08:16 【问题描述】:可能重复:Passing two command parameters using a WPF binding
我需要向我的 RelayCommand 发送两个参数,例如:
public RelayCommand<String,Int> MyCommand get;set; Or
public RelayCommand<EventArgument,String> MyCommand get;set;
【问题讨论】:
【参考方案1】:您可以使用不同的模型类来传递多个参数。为了初始化它们,您可以像这样使用 xaml 元素:
<Button Command="Binding YourCommand">
<Button.CommandParameter>
<YourNS:YourModel Id="Binding PathForId" Name="Binding PathForName"/>
</Button.CommandParameter>
</Button>
这将构造一个新的 YourModel 对象以传递给命令,然后将通过绑定初始化其属性。
【讨论】:
实际上这在 Silverlight 中并没有为我解决。相反,我使用了本文中提到的自定义多绑定类:codeproject.com/Articles/286171/MultiBinding-in-Silverlight-5 - 不需要转换器,您只需将对象转换为对象[]。【参考方案2】:将它们包装在一个对象中:
public RelayCommand<MyModel> MyCommand get; set;
其中 MyModel 将包含两个属性:
public class MyModel
public int Id get; set;
public string Name get; set;
【讨论】:
事实上我想发送到我的命令:RelayCommand以上是关于如何传递多个参数 RelayCommand? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
WPF Multibinding - 需要使用 Relaycommand
如何将 RelayCommand 与 MVVM Light 框架一起使用
WPF MvvmLight RelayCommand 绑定Command 的使用