能否将DynamicResource设置为TargetNullValue?

3

如果不行,我该如何实现类似的行为?我想将某些控件的背景属性绑定到类型为Brush的属性。当该属性设置为null时,我想使用默认的背景(使用资源键解析)。


它必须是动态资源吗?还是可以使用静态资源? - Bas
1个回答

4

默认的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类型作为示例,您可以在那里使用您需要的类型。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接