WPF后台设置按纽匿名click事件
时间: 2024-09-26 16:17:59 浏览: 37
在WPF (Windows Presentation Foundation) 中,如果你想要在一个后台按钮上设置匿名点击事件处理,通常你会使用`Command`属性结合`ICommand`接口来实现,而不是直接绑定点击事件。这是因为`Button`控制在后台并不直接支持`Click`事件,而更适合处理命令逻辑。
首先,你需要创建一个`ICommand`实现,比如自定义一个` RelayCommand`:
```csharp
using System.Windows.Input;
public class RelayCommand : ICommand
{
private Action _execute;
private Func<bool> _canExecute;
public RelayCommand(Action execute)
: this(execute, () => true)
{
}
public RelayCommand(Action execute, Func<bool> canExecute)
{
_execute = execute;
_canExecute = canExecute;
}
public bool CanExecute(object parameter)
{
return _canExecute?.Invoke() ?? false;
}
public event EventHandler CanExecuteChanged;
public void Execute(object parameter)
{
_execute?.Invoke();
}
}
```
然后,在XAML中,你可以这样设置按钮:
```xml
<Button Content="后台按钮">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<i:InvokeCommandAction Command="{Binding YourCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
```
在这里,`YourCommand`是你在背后管理的`RelayCommand`实例。
阅读全文