Ошибка правильного удаления привязки свойств в WPF - PullRequest
0 голосов
/ 12 октября 2018

Я изо всех сил пытаюсь найти правильный способ отключить привязку свойств в 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).

Есть идеи, что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...