我正在努力寻找一种适当的方法来禁用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
,但是即使{{{ 1}}已经为空。有趣的是,只有在应用程序已经运行时更改BackgroundImageObject
时,它才会发生。如果默认状态为Source
,则出价似乎已正确禁用,但是一旦我将ShowBackgroundImage
设置为True,然后又设置为False,它将停止正常工作(Source为null,但仍在对BackgroundImageObject进行调用)
有什么想法我在做什么错吗?