2012-02-02 1 views
0

У меня есть Button ...Как связать логическое значение для переключения Click событиечрезвычайной кнопки

<Button Click="Button_Click" /> 

Я хотел бы связать CanClick логическое значение этого каким-то образом. Когда CanClick - false, то событие Click не должно срабатывать ...

Как это можно сделать?

ответ

3

Что вы пробовали?

Я бы использовал привязку к объекту ButtonIsEnabled.

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

Лучше всего было бы связать свойство CanClick к IsEnabled имущества Button управления. Таким образом, когда 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> 
5

Для этого вы можете просто использовать command вместо (путем связывания Button.Command к Command), он отключит кнопку, если CanExecute является false (возможно, потребуется использовать CanExecuteChanged событие, чтобы сделать кнопку в курсе изменить на CanExecute).

+0

+1, лучший ответ здесь для меня. – Bolu

Смежные вопросы