wpf CommandBase用法
时间: 2023-12-16 10:04:08 浏览: 146
CommandBase 是一个抽象类,用于实现 WPF 中的命令模式。它提供了一些方法和属性,用于处理命令的执行和可用性。
以下是一个基本的 CommandBase 类的示例:
```csharp
public abstract class CommandBase : ICommand
{
public event EventHandler CanExecuteChanged;
public virtual bool CanExecute(object parameter)
{
return true;
}
public abstract void Execute(object parameter);
protected virtual void OnCanExecuteChanged()
{
CanExecuteChanged?.Invoke(this, EventArgs.Empty);
}
}
```
该类实现了 ICommand 接口,其中 CanExecute 方法和 Execute 方法是必须要实现的。CanExecuteChanged 事件用于通知界面元素命令的可用性已更改。
使用 CommandBase 类时,需要继承该类并实现 Execute 方法。例如:
```csharp
public class MyCommand : CommandBase
{
public override void Execute(object parameter)
{
// 执行命令的代码
}
}
```
在 XAML 中,可以使用该命令类来绑定到一个按钮或其他控件的命令属性上,例如:
```xaml
<Button Content="Click me" Command="{Binding MyCommand}" />
```
这样,当按钮被点击时,MyCommand 的 Execute 方法将被调用。
更多关于 CommandBase 的详细用法可以参考 MSDN 文档。
阅读全文