안녕하세요
TreeView에서 ItemTemplateSelector로 두 개(A,B)의 템플릿을 조건에 따라 보여주려고 합니다.
그리고 그 두 개의 템플릿(A,B) 안에서도 조건에 따라 A,B를 보여주려고 합니다.(재귀적으로)
현재
<HierarchicalDataTemplate x:Key="root" >
<Grid x:Name="RootItem" >
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<cuiViews:ExpanderToggleButton x:Name="ExpandedBtn" Grid.Row="0" />
<ItemsControl Grid.Row="1" ItemsSource="{Binding Children}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Content}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate x:key="item">
///내용 생략
</<HierarchicalDataTemplate>
<local:ItemSelector
x:Key="selector"
ItemTemplate="{StaticResource item}"
RootTemplate="{StaticResource root}" />
<Style x:Key="SettingTreeViewItem" TargetType="{x:Type TreeViewItem}">
<Setter Property="Background" Value="White" />
<Setter Property="ItemsSource" Value="{Binding Children}" />
////Template 재정의 생략
</Style>
이렇게 정의를 했습니다.
HierarchicalDataTemplate 안에서
컨트롤을 다시 Selector로 조건에 따라 나뉘게 하고 싶은데
xaml 정의 순서가 selector가 뒤에 오니 HierarchicalDataTemplate 안에 selector를 넣질 못합니다.
그렇다고 HierarchicalDataTemplate 에 ItemsSource를 바인딩 해주고 안에 itemsControl을 지우면 wpf의 기본 TreeviewItem의 UI가 남아 있어서 안됩니다.
다른 방법이 있을까요?