WPF:TreeView无法同时应用分层模板和样式

时间:2011-07-12 16:09:32

标签: wpf treeview

这是我想要做的:

<TreeView>
 <TreeView.Resources>
                <Style TargetType="TreeViewItem" >
                    <Setter Property="dz:VirtualListItemBase.AutoLoad" Value="true" />
                </Style>
            </TreeView.Resources>
            <TreeView.ItemTemplate>
                <HierarchicalDataTemplate ItemsSource="{Binding Data.Nodes}" >
                    <Label  Grid.Column="1"  Grid.Row="0"  Content="{Binding Data.Name}" dz:VirtualListItemBase.AutoLoad="true" />
                </HierarchicalDataTemplate>
            </TreeView.ItemTemplate>

样式部分永远不会被应用。 HierachicalDataTemplate似乎覆盖了初始样式。我不能使用该类型来应用模板,因为涉及多种类型。有什么想法吗?

由于

1 个答案:

答案 0 :(得分:0)

DataTemplateStyleprecedence。尝试将DataTemplate移动到Style中:

 <Style TargetType="TreeViewItem" > 
   <Setter Property="dz:VirtualListItemBase.AutoLoad" Value="true" />
   <Setter Property="ItemTemplate">
      <Setter.Value>
         <HierarchicalDataTemplate ...
         </HierarchicalDataTemplate> 
      </Setter.Value>
    </Setter>
 </Style>