В WPF - XAML есть способ привязки к поведению изменения свойства без использования UpdateSourceTrigger? - PullRequest
0 голосов
/ 13 февраля 2020

Я пытаюсь кодировать некоторые поведения в WPF. Рассмотрим следующий фрагмент кода:

<Button IsEnabled="{Binding Path=ButtonsAreEnabled, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}">

Есть ли способ для меня, чтобы добиться поведения: UpdateSourceTrigger = PropertyChanged} без использования UpdateSourceTrigger ?

Я пытаюсь перенести некоторые существующие определения WPF в Avalonia UI и Avalonia в настоящее время не поддерживает UpdateSourceTrigger .

Как бы я сделать это?

Спасибо, JohnB

1 Ответ

1 голос
/ 13 февраля 2020

Комбинация Mode=OneWay и UpdateSourceTrigger=PropertyChanged не имеет смысла.

UpdateSourceTrigger влияет только на TwoWay или OneWayToSource Привязки, где она контролирует, когда именно свойство источника привязки имеет значение обновлено.

Кроме того, установка Mode=OneWay является избыточной, поскольку свойство IsEnabled по умолчанию связывает OneWay.

Таким образом, ваше выражение Binding должно быть просто таким:

<Button IsEnabled="{Binding Path=ButtonsAreEnabled}">

Или еще короче:

<Button IsEnabled="{Binding ButtonsAreEnabled}">
...