使用TreeView不起作用的XAML样式触发器的使用



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,这不是。

最新更新