C# 基于对象类型控制WPF树视图项的扩展
我试图控制WPF树视图中树视图项的扩展状态。使用HierarchycalDataTemplate块控制不同类型对象的显示:-C# 基于对象类型控制WPF树视图项的扩展,c#,wpf,xaml,treeview,C#,Wpf,Xaml,Treeview,我试图控制WPF树视图中树视图项的扩展状态。使用HierarchycalDataTemplate块控制不同类型对象的显示:- <HierarchicalDataTemplate DataType="{x:Type self:TestCaseNode}" ItemsSource="{Binding ChildItems}"> <HierarchicalDataTemplate.ItemContainerStyle>
<HierarchicalDataTemplate DataType="{x:Type self:TestCaseNode}" ItemsSource="{Binding ChildItems}">
<HierarchicalDataTemplate.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="IsExpanded" Value="False" />
<Setter Property="Background" Value="Red" />
</Style>
</HierarchicalDataTemplate.ItemContainerStyle>
<TextBlock Text="{Binding DisplayName}" Tag="{Binding .}" MinWidth="10"/>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type self:CmdLineNode}" ItemsSource="{Binding ChildItems}">
<TextBlock Text="{Binding Name}" Tag="{Binding .}" MinWidth="10"/>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type self:MessagesNode}" ItemsSource="{Binding ChildItems}">
<StackPanel Style="{StaticResource ResourceKey=StackStyle}">
<TextBlock Text="{Binding Name}" Tag="{Binding .}" MinWidth="10"/>
</StackPanel>
</HierarchicalDataTemplate>
这允许我指定TestCaseNode的子项(即CmdLineNode和MessagesNode)显示为未展开的红色背景。我要做的是使用默认值显示CmdLineNode项,即使用默认背景展开,仅使用消息未展开且使用红色背景的节点项。我只是不知道如何在XAML中做到这一点,而不使用代码隐藏。你能发布你当前的输出截图吗。