抱歉,标题令人困惑,请随时更改。
可以说我有一个绑定到SomeProperty
的文本块。
这个SomeProperty
在某个时候会变成null
,如果那个SomeProperty
是null
,那么我想创建一个简单的Label,说此属性没有值或某些其他简单的消息。
这是我的示例文本块。
<TextBlock Text="{Binding SomeProperty, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"/>
如果SomeProperty
为null
,我想创建在其内容中包含简单消息的Label。
是否可以仅使用XAML
来实现?
答案 0 :(得分:2)
您可以尝试Binding
中的TargetNullValue
property:
<TextBlock Text="{Binding SomeProperty, TargetNullValue=This is the message}"/>
答案 1 :(得分:1)
您可以在Label上使用DataTrigger来监视属性的更改,如果属性为null,它将为您更改Label的值。例如,
<Label >
<Label.Style>
<Style TargetType="Label">
<Setter Property="Content" Value="Default Value" />
<Style.Triggers>
<DataTrigger Binding="{Binding SomeProperty}" Value="{x:Null}">
<Setter Property="Content" Value="The value is null!" />
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>
<TextBlock Text="{Binding SomeProperty, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"/>