2011-06-03 45 views
1

我用這個在XAML基於約什·史密斯的示例代碼here從視圖模型加載樹狀孩子:對於WPF的TreeView,我怎麼可以用一個主題,同時還設置TreeView.ItemContainerStyle

<TreeView.ItemContainerStyle> 
     <Style TargetType="{x:Type TreeViewItem}"> 
      <Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" /> 
      <Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" /> 
     </Style> 
</TreeView.ItemContainerStyle> 

這導致我用於TreeViewItem的主題被忽略。它使選定的項目文本黑色和背景暗藍色,因此很難閱讀。有沒有辦法同時使用上面的主題和代碼?

回答

2

嘗試設置BasedOn{StaticResource {x:Type TreeViewItem}}

這將採用TreeViewItems(由主題提供)的默認樣式作爲樣式的基礎。

+0

感謝您的答覆。我不知道該把它放在哪裏。我在這裏試過,但它說沒有找到TreeViewItem。 'code''code' – tmh 2011-06-07 15:30:37

+0

實際上,儘管發生錯誤,它仍然以任何方式工作。謝謝你的幫助。 – tmh 2011-06-07 15:39:43

+0

這段代碼對我來說看起來很好...編輯:哦,是的,只是忽略錯誤。 – 2011-06-07 15:41:39

0

只需將代碼格式化:

<TreeView.ItemContainerStyle> 
    <Style TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource {x:TypeTreeViewItem}"> 
     <Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" /> 
     <Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" /> 
    </Style> 
</TreeView.ItemContainerStyle> 
相關問題