Я изо всех сил пытаюсь найти правильный способ отключить привязку свойств в WPF.У меня есть Image
, и я хочу отключить / включить привязку к его свойству Source
в зависимости от настроек приложения.Проблема в том, что даже когда я установил Source
на Null
, я все еще вижу, что WPF обращается к моей модели для этой привязки.
Вот мой пример:
<Image>
<Image.Style>
<Style TargetType="Image">
<Setter Property="Source" Value="{x:Null}" />
<Style.Triggers>
<DataTrigger Binding="{Binding ShowBackgroundImage, Source={x:Static pui:App.Current}}" Value="True">
<Setter Property="Source" Value="{Binding Game.BackgroundImageObject, IsAsync=True, Mode=OneWay}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
У меня естьпроверил, что Source
правильно установлен на Null
на основе значения ShowBackgroundImage
, но WPF по-прежнему вызывает метод получения для BackgroundImageObject
, когда он изменяется, даже если Source
уже равен нулю.Интересно, что это происходит только тогда, когда я изменяю ShowBackgroundImage
, когда приложение уже запущено.Если по умолчанию установлено значение False
, то связывание, по-видимому, отключено должным образом, но как только я установил ShowBackgroundImage
в значение «Истина», а затем в значение «Ложь», оно перестает работать должным образом (источник равен нулю, но все еще выполняются вызовы BackgroundImageObject).
Есть идеи, что я делаю не так?