wpf 如何写按钮Command命令,知道此按钮信息
时间: 2024-09-11 11:03:11 浏览: 34
在WPF中,使用`Command`属性来绑定按钮的行为到一个特定的命令实例是非常常见的。通常,这涉及到以下几个步骤:
1. 首先,你需要创建一个`ICommand`实现了的类,比如使用`System.Windows.Input.ICommand`。例如:
```csharp
public class MyButtonCommand : ICommand
{
private Action _execute;
private Func<bool> _canExecute;
public MyButtonCommand(Action execute, Func<bool> canExecute = null)
{
_execute = execute;
_canExecute = canExecute;
}
// ICommand 成员实现
public bool CanExecute(object parameter) => _canExecute?.Invoke() ?? true;
public event EventHandler CanExecuteChanged { add { CommandManager.RequerySuggested += value; } remove { CommandManager.RequerySuggested -= value; } }
public void Execute(object parameter) => _execute.Invoke();
}
```
2. 然后,在XAML中,给按钮设置`Command`属性,并传递你的自定义`MyButtonCommand`实例:
```xml
<Button Content="我的按钮">
<Button.Command>
<local:MyButtonCommand ExecuteAction={Binding YourMethod} CanExecuteAction="{Binding CanYourMethodBeExecuted}" />
</Button.Command>
</Button>
```
在这里,`YourMethod`是你想要在按钮点击时调用的方法,而`CanYourMethodBeExecuted`是一个可选的验证方法,用于检查命令是否可以执行。
阅读全文