当wpf中绑定值为null或为空时,如何使用触发器/(etc)标记内容集
本文关键字:etc 触发器 何使用 绑定 wpf null | 更新日期: 2023-09-27 18:26:38
我想在运行时动态绑定标签内容。当绑定属性为null或为空时,我希望将绑定值(名称)显示为内容。我尝试了以下操作,但不起作用:当绑定属性具有值时,它可以正常工作。XAML代码如下。
<Label Content="{DynamicResource name}">
<Label.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding name}" Value="{x:NULL}">
<Setter Property="Label.Content" Value="name" />
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>
帮帮我。谢谢!
您可以使用TargetNullValue
属性(msdn),而不是使用DataTrigger
。
获取或设置当的值源为null。
示例:
<Label Content="{Binding LabelContent, TargetNullValue=LabelContent}" />
代码背后的解决方案:
您不必编写触发器。您可以在将值添加到Resources
:之前进行检查
...
foreach (var item in resourceList)
{
if(!string.IsNullOrEmpty(item.Value))
window.Resources.Add(item.Key, item.Value);
else
window.Resources.Add(item.Key, item.Key);
}
...