2

我想在运行时动态绑定标签内容。当绑定属性为空或为空时,我想将绑定值(名称)显示为内容。我尝试如下但它不起作用:当绑定属性有一个值时它工作正常。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>

帮我。谢谢!

4

1 回答 1

1

DataTrigger您可以使用TargetNullValue属性 ( msdn )而不是使用。

获取或设置当源值为 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);
}
...
于 2013-08-07T07:17:27.423 回答