У меня есть следующие XML быть установлены на моей TreeView:Возникли проблемы с ItemContainerStyle на Treeview
<Root Value="YES">
<Child Name="Test">
<Sibling Data="Yes">
<Last UserData="1"/>
</Sibling>
<Sibling Data="No"/>
</Child>
<Child Name="Test2"/>
</Root>
, а затем я задал следующий код в моем окне:
<Window.Resources>
<XmlDataProvider x:Key="dataProvider" XPath="Root" Source="C:\XML.xml" />
<HierarchicalDataTemplate DataType="Root" ItemsSource="{Binding XPath=*}">
<TextBlock Text="{Binding [email protected]}" />
<HierarchicalDataTemplate.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Border Background="Blue">
<ContentPresenter/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</HierarchicalDataTemplate.ItemContainerStyle>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="Child" ItemsSource="{Binding XPath=*}">
<TextBlock Text="{Binding [email protected]}" />
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="Sibling" ItemsSource="{Binding XPath=*}">
<TextBlock Text="{Binding [email protected]}" />
</HierarchicalDataTemplate>
</Window.Resources>
<Grid>
<TreeView Margin="12" x:Name="trv"
ItemsSource="{Binding Source={StaticResource dataProvider}}" />
</Grid>
Я хотел бы иметь пограничный контроль обернуть вокруг все подразделы для каждого узла, как на этой картинке:
http://www.hardcodet.net/uploads/2008/03/tree-dialogik.png
Другими словами, вы заметите на изображении, с которым я связан, родительский узел dialogik.Memory имеет темно-серая рамка, которая окружает его и вокруг его детей. Это тот эффект, которого я хочу достичь.
Что мне нужно изменить в моем коде, чтобы он работал правильно ???
Спасибо!
Также см. Http://stackoverflow.com/questions/14142510/hierarchicaldatatemplate-not-working - у него есть пример использования расширителей. – jdpilgrim