如果没有,我怎样才能实现类似的行为?我想将某个控件的 Backgrond 属性绑定(bind)到 Brush 类型的属性。当该属性设置为 null 时,我想使用默认背景(使用资源键解析)。
最佳答案
TargetNullValue 的默认实现不允许这样做。一种可能的简单解决方案是使用 DataTrigger
实现 Style
:
<Style TargetType="TextBlock">
<Setter Property="Background" Value="{Binding BrushProperty}" />
<Style.Triggers>
<DataTrigger Binding="{Binding BrushProperty}" Value="{x:Null}">
<Setter Property="Background" Value="{DynamicResource defaultBrush}" />
</DataTrigger>
</Style.Triggers>
</Style>
我使用 TextBlock
类型作为示例,您可以在那里使用您需要的类型。
关于wpf - 是否可以将 DynamicResource 设置为 TargetNullValue?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17834132/