Добрый день,
Мне трудно понять, как создать шаблон для следующий макет элемента TreeView:
У меня есть несколько элементов, SearchList, который содержит коллекцию Search, которая содержит коллекцию DataSet (вроде как, но это не относится к делу). У меня возникают трудности с оформлением каждого уровня узла так, как я хочу.Я использую MVVM, а для свойства TreeViews ItemsSource установлено значение ObservableCollection из SearchListViewModels, которое, в свою очередь, содержит мои объекты на всем протяжении дерева объектов.
Я могу успешно стилизовать SearchList HierarchicalDataTemplate, чтобы отображать их правильно. Я зацикливаюсь на стилях узлов SearchTerm. Я хочу, чтобы наборы данных были представлены в виде панели обтекания или однородной сетки (я еще не решил) справа от области содержимого SearchTerm. Я изменил шаблон элемента управления TreeViewItem, чтобы он вел себя именно так, как я думаю), однако, если я установил его в свойстве ItemContainerStyle в Search HierarchicalDataTemplate, он ничего не сделает. Все, что отображается, - это контент для поиска.
<Style TargetType="{x:Type TreeViewItem}" x:Key="AlteredTreeViewItem">
<Setter Property="HorizontalContentAlignment"
Value="Stretch" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TreeViewItem}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"
MinWidth="19" />
<ColumnDefinition Width="0.414*" />
<ColumnDefinition Width="0.586*"/>
</Grid.ColumnDefinitions>
<Border x:Name="Bd" HorizontalAlignment="Stretch"
Grid.Column="1" Grid.ColumnSpan="1" Background="#7F058956">
<ContentPresenter x:Name="PART_Header" Margin="10,0" />
</Border>
<WrapPanel x:Name="ItemsHost"
Grid.Column="2" IsItemsHost="True"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<HierarchicalDataTemplate DataType="{x:Type local:SearchViewModel}" ItemsSource="{Binding MySearch.Custodians}" ItemContainerStyle="{StaticResource AlteredTreeViewItem}">
<TextBlock Text="{Binding MySearch.SearchName}" Foreground="Black" FontFamily="Arial" FontSize="16"/>
</HierarchicalDataTemplate>
Наверняка у других были элементы, стилизованные по-разному, И дочерние элементы располагались по-разному. Есть ли у кого-нибудь такой опыт, кто мог бы мне помочь?