2012-02-02 112 views

回答

3

到目前为止您尝试过什么?

我会使用绑定到ButtonIsEnabled属性。

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

最好的办法是财产CanClickButton控制的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> 
5

对于这一点,你可以只使用一个command代替(通过结合Button.CommandCommand),将禁用按钮,如果CanExecutefalse(您可能需要使用CanExecuteChanged事件让按钮知道的改为CanExecute)。

+0

+1,这是我最好的答案。 – Bolu 2012-02-02 17:02:15

相关问题