我设法让TreeView在WPF应用程序中运行。我使用HierarchialDataTemplates来显示数据。我的数据是车辆清单,其中每辆车都有一个Territory属性。
有时Territory属性为Null。当车辆尚未分配到地理区域时会发生这种情况。
我想在TreeView中使用的视觉表示应该是这样的:
Vehicle_Name (Territory_Name)
当Vehicle.Territory为空时,我希望删除粗体文本。如果它仍然存在于车辆名称末尾的这个奇怪的空括号。
我尝试过使用DataTrigger,但粗体文本仍然存在,即使是空的Territory值。
<HierarchicalDataTemplate DataType="{x:Type self:TreeVehicleItem}" ItemsSource="{Binding ClientLocations}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name}" />
<TextBlock FontWeight="Bold" Padding="10 0 0 0">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Setter Property="Visibility" Value="Visible" />
<Style.Triggers>
<DataTrigger Binding="{Binding Territory}" Value="x:Null">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
(<Run Text="{Binding Territory.Name}" />)
</TextBlock>
</StackPanel>
</HierarchicalDataTemplate>
我已经确认Territory
属性确实是Null
,而不只是一个空列表。
当Territory属性为Null时,我需要做什么才能使粗体TextBlock消失?
答案 0 :(得分:3)