2017-09-17 14 views
0

各TreeViewItemが1つのプロパティーPriorityIDを持つTaskオブジェクトであるTaskTreeという名前のTreeViewがあります。ツリービューが動作しないXAMLスタイルトリガーの使用

TaskTree.DataContext = AllTasks 

ここで、AllTask​​sはObserableCollection(Of Task)です。 PriorityIDの値に応じて、各TreeViewItemの背景色を変更したい。私は次のようにXAMLでこれを実行します。これはMSDN上に正確例と一致している間

<Style 
    TargetType="TreeView"> 
    <Style.Triggers> 
     <DataTrigger 
      Binding="{Binding Path=PriorityID}" Value="142"> 
      <Setter Property="Background" Value="Red" /> 
     </DataTrigger> 
    </Style.Triggers> 
</Style> 

、背景が変更されていないと私は、エラーを見つけることができません。

編集 場合は、それが関連している、ここでのTreeViewコントロールの設定です:

<TreeView 
    x:Name="TaskTree" 
    ItemsSource="{Binding}"> 
    <TreeView.ItemTemplate> 
     <HierarchicalDataTemplate 
      ItemsSource="{Binding Path=SubTasks}"> 
      <TextBlock Text="{Binding Path=Title}" /> 
     </HierarchicalDataTemplate> 
    </TreeView.ItemTemplate> 
</TreeView> 

答えて

0

あなたのスタイルは、ツリーをターゲットにされていますが、アイテムをターゲットにする必要があります。今のところ、ツリー自体にPriorityIDがあると予想されます。

+0

私はすでにその考えを持っていて、試してコンパイルエラーが発生しました。しかし、あなたのプロンプトで私はもう一度それを試して、treeviewitemのトリガーを設定するのは正しいです。私はそれを何らかの形で間違っていたに違いない。 – SezMe