Prism 按钮绑定DelegateCommand<object>
时间: 2024-12-08 19:15:46 浏览: 12
Prism框架中的`Button`通常会通过`DelegateCommand<T>`来进行绑定,这是因为它提供了一种处理用户交互的方式,允许你在按钮被点击时执行指定的动作,并可以传递数据。`DelegateCommand<object>`是一个泛型命令,它可以接受并处理任意类型的参数。
在Prism中,你需要首先创建一个`DelegateCommand`实例,然后将其作为`Button`的`Command`属性绑定。例如:
```csharp
private DelegateCommand<object> myCommand;
public MyViewModel()
{
// 初始化命令
myCommand = new DelegateCommand<object>(OnCommandExecuted);
}
private void OnCommandExecuted(object parameter)
{
// 根据传入的参数执行相应的业务逻辑
if (parameter is string commandArgument)
{
HandleButtonClick(commandArgument);
}
}
// 在XAML中绑定
<Button Content="Click Me" Command="{Binding myCommand}" />
```
在这个例子中,当你点击按钮时,`myCommand`会被触发,`OnCommandExecuted`方法会被调用,其中你可以根据`parameter`的内容进行处理。`T`类型的灵活性使得这个命令能够适应各种不同类型的参数。
阅读全文