i有一个名为tasketree的树视图,每个treeViewItem是一个任务对象,一个属性是priorditialId。我设置了TreeView的DataContext如下:
TaskTree.DataContext = AllTasks
alltasks是(任务)的观察力。我想根据PriorityID的值更改每个TreeViewItem的背景颜色。我在XAML中这样做:
<Style
TargetType="TreeView">
<Style.Triggers>
<DataTrigger
Binding="{Binding Path=PriorityID}" Value="142">
<Setter Property="Background" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
虽然这与MSDN上的示例完全匹配,但背景没有更改,我找不到错误。
编辑如果相关,这是TreeView的设置:
<TreeView
x:Name="TaskTree"
ItemsSource="{Binding}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate
ItemsSource="{Binding Path=SubTasks}">
<TextBlock Text="{Binding Path=Title}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
您的样式针对树,但是您需要定位物品。您现在拥有它的方式,它期望树本身中的PriorityId,这不是。