Как связать логическое значение для переключения события Click кнопки - PullRequest
0 голосов
/ 02 февраля 2012

У меня есть Button ...

<Button Click="Button_Click" />

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

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

Ответы [ 3 ]

5 голосов
/ 02 февраля 2012

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

3 голосов
/ 02 февраля 2012

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

Я бы использовал привязку к свойству Button IsEnabled.

<Button Click="Button_Click" IsEnabled="{Binding Path=CanBeClicked}" />
0 голосов
/ 02 февраля 2012

Лучшим способом будет связать свойство 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...