【发布时间】:2013-03-21 06:15:26
【问题描述】:
首先我为我糟糕的英语道歉。
我将 xml 绑定到一个列表视图,其中每一行代表一个人。我想要行的背景颜色为蓝色或粉红色,具体取决于 xml 中的性别元素。我用触发器创建了样式,但它们似乎只检查第一个 xml 节点,并且所有行的颜色都与第一行相同。 xml元素性别为男性为0,女性为1。
一个DataTrigger(第二个类似):
<DataTrigger Binding="{Binding Source={StaticResource Data}, XPath=People/Person/Sex}" Value="0">
<Setter Property="Background" Value="{StaticResource MaleBrush}" />
</DataTrigger>
这是 xml 和样式绑定到 listview(数据是 XmlDataProvider):
<ListView ... ItemsSource="{Binding Source={StaticResource Data}, XPath=People/Person}" ItemContainerStyle="{StaticResource SexStyle}">
这是样式标题:
<Style x:Key="SexStyle" TargetType="{x:Type ListViewItem}">
感谢您的帮助!
【问题讨论】:
标签: c# wpf xml listview data-binding