我需要将两个参数发送到我的RelayCommand,如:
public RelayCommand<String,Int> MyCommand {get;set;} Or
public RelayCommand<EventArgument,String> MyCommand {get;set;}
答案 0 :(得分:12)
将它们包裹在一个物体中:
public RelayCommand<MyModel> MyCommand { get; set; }
其中MyModel将包含两个属性:
public class MyModel
{
public int Id { get; set; }
public string Name { get; set; }
}
答案 1 :(得分:8)
您可以使用不同的模型类来传递多个参数。并且为了初始化它们,您可以使用像这样的xaml元素:
<Button Command="{Binding YourCommand}">
<Button.CommandParameter>
<YourNS:YourModel Id="{Binding PathForId}" Name="{Binding PathForName}"/>
</Button.CommandParameter>
</Button>
这将构造一个新的YourModel对象以传递给命令,然后通过绑定初始化其属性。