如何绑定布尔值来切换按钮';s单击事件

本文关键字:按钮 事件 单击 何绑定 绑定 布尔值 | 更新日期: 2023-09-27 18:22:11

我有一个Button。。。

<Button Click="Button_Click" />

我想以某种方式将CanClick布尔值绑定到它。当CanClickfalse时,Click事件不应激发。。。

如何做到这一点?

如何绑定布尔值来切换按钮';s单击事件

为此,您只需使用一个命令(通过将Button.Command绑定到Command),如果CanExecutefalse,它将禁用按钮(您可能需要使用CanExecuteChanged事件使按钮知道CanExecute的更改)。

到目前为止你尝试了什么?

我会使用绑定到ButtonIsEnabled属性。

<Button Click="Button_Click" IsEnabled="{Binding Path=CanBeClicked}" />

最好的方法是将属性CanClick绑定到Button控件的IsEnabled属性。这样,当CanClickfalse时,IsEnabled也将是false。禁用的按钮不会触发Click事件。

// ... UserControl code-behind ...
private bool mCanClick = false;
public bool CanClick
{
    get { return mCanClick; }
}
// ... UserControl XAML ...
<UserControl ... DataContext="{Binding RelativeSource={RelativeSource Self}}">
...
    <Button CanClick="{Binding CanClick}" Click="Button_Click" />
...
</UserControl>