wpf 中command 传入多个参数
时间: 2023-10-05 16:13:46 浏览: 178
wpf相互调用传递参数
3星 · 编辑精心推荐
在 WPF 中,如果你想传入多个参数给 Command,可以使用 CommandParameter 属性。CommandParameter 属性可以绑定到任何对象,所以你可以将多个参数封装成一个对象,然后将该对象传入 CommandParameter 属性中。
例如,你可以定义一个名为 MyCommand 的 Command,然后将多个参数封装成一个对象,如下所示:
```csharp
public class MyCommand : ICommand
{
public bool CanExecute(object parameter)
{
//...
}
public void Execute(object parameter)
{
MyCommandParameters parameters = (MyCommandParameters)parameter;
//使用 parameters 中的多个参数执行命令
}
public event EventHandler CanExecuteChanged;
}
public class MyCommandParameters
{
public string Name { get; set; }
public int Age { get; set; }
public bool IsMale { get; set; }
}
```
然后,在 XAML 中,你可以使用 CommandParameter 属性将 MyCommandParameters 对象传入 Command,如下所示:
```xml
<Button Content="Click Me">
<Button.Command>
<local:MyCommand />
</Button.Command>
<Button.CommandParameter>
<local:MyCommandParameters Name="John" Age="30" IsMale="True" />
</Button.CommandParameter>
</Button>
```
在上面的示例中,我们将 MyCommandParameters 对象传入了 MyCommand 命令,并且在 Execute 方法中使用了该对象中的多个参数。需要注意的是,CommandParameter 属性只能绑定到单个对象,如果你需要传入多个参数,就需要将它们封装成一个对象。
阅读全文