所以我有一个xml文件,其中包含某些直升机的状态。 xml文件的一部分保存其天气状态。如果他们的天气状态为黄色,我希望绑定的文本块的背景更改为黄色。
我找到了一个为数据网格做到这一点的答案。原理是一样的吗?很抱歉没有代码,我是通过移动应用程序执行此操作的。
答案 0 :(得分:1)
通常,您会将数据绑定到Style上的DataTrigger以格式化TextBlock的背景。像这样:
<TextBlock Text={Binding Path=TextProperty}>
<TextBlock.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Weather}" Value="XXX">
<DataTrigger.Setters>
<Setter Property="Background" Value="Yellow" />
</DataTrigger.Setters>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
使用XPath Binding,您可能需要完整的方式并将其写为:
<TextBlock>
<TextBlock.Text>
<Binding XPath="/Your/Xml/Path" />
</TextBlock.Text>
<TextBlock.Style>
<Style>
<Style.Triggers>
<DataTrigger Value="XXX">
<DataTrigger.Binding>
<Binding XPath="/Path/To/Your/Weather/Property" />
</DataTrigger.Binding>
<DataTrigger.Setters>
<Setter Property="Background" Value="Yellow" />
</DataTrigger.Setters>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>