wpf - 是否可以将 DynamicResource 设置为 TargetNullValue?

标签 wpf

如果没有,我怎样才能实现类似的行为?我想将某个控件的 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/

相关文章:

.net - WPF中的数字编辑字段?

WPF:我可以重新设置复选框模板的样式吗,以便检查指示器变为红十字

wpf - WPF中的关注点分离

WPF Canvas 和网格叠加

wpf - MVVM Light 应用程序的全局异常处理程序

c# - 从 ComboBox 的模板设置 ComboBoxItem 的样式

c# - 如何使用 Oxyplot 创建和绘制 ContourSeries?

c# - Lync 2013 无法显示自定义状态

WPF MVVM ListBox SelectedItem 未突出显示

WPF、MVVM 和 Prism 模块化