我有一个Button
...如何绑定一个布尔值,键切换按钮的Click事件
<Button Click="Button_Click" />
我想一个CanClick
布尔莫名其妙地绑定到这一点。当CanClick
为false
时,则Click
事件不应触发...
这怎么办?
我有一个Button
...如何绑定一个布尔值,键切换按钮的Click事件
<Button Click="Button_Click" />
我想一个CanClick
布尔莫名其妙地绑定到这一点。当CanClick
为false
时,则Click
事件不应触发...
这怎么办?
到目前为止您尝试过什么?
我会使用绑定到Button
的IsEnabled
属性。
<Button Click="Button_Click" IsEnabled="{Binding Path=CanBeClicked}" />
最好的办法是财产CanClick
到Button
控制的IsEnabled
属性绑定。这样,当CanClick
是false
,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>
对于这一点,你可以只使用一个command代替(通过结合Button.Command
为Command
),将禁用按钮,如果CanExecute
是false
(您可能需要使用CanExecuteChanged
事件让按钮知道的改为CanExecute
)。
+1,这是我最好的答案。 – Bolu 2012-02-02 17:02:15