我試圖讓TreeView將項目顯示爲TextBlock,然後基於數據綁定對象內的布爾值來使FontWeight Normal或Bold幾乎相同如下:Textblock將不會在HierachicalDataTemplate中接收到觸發器
<TreeView x:Name="TreeView" ItemsSource="{Binding Layers}">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type viewModels:Layer}" ItemsSource="{Binding Path=Layers}">
<TextBlock Text="{Binding Path=Name}">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Setter Property="FontWeight" Value="Normal" />
<Style.Triggers>
<DataTrigger Binding="{Binding Path=ShowInPreview}">
<Setter Property="FontWeight" Value="Bold" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>
觸發器外的Setter實際上工作,當我將該設置爲「Bold」時,一切都立即變粗。這只是DataTrigger,從來沒有,好......觸發器:P
ItemSource實現INotifyPropertyChanged,所有屬性(包括ShowInPreview)上的Layer對象也是如此。
我試過了各種不同的設置,我可以在網上找到(使用Window.Resources,把它放在TreeView.ItemContainerStyle等等),所以我現在完全處於虧損狀態!
Doooohh,你是完全正確的,我怎麼想那??謝謝! –