Wpf 如何更改文本块';基于属性的可见性';s值
我已经设法让TreeView在WPF应用程序中工作。我使用HierarchicalDataTemplates来显示数据。我的数据是一个车辆列表,其中每辆车都有一个区域属性 有时Territory属性为空。当车辆未分配到某个地理区域时,会发生这种情况 我希望在树视图中的视觉表现应该是这样的: 车辆名称(地区名称) 当Vehicle.Territory为空时,我希望删除粗体文本。如果它仍然存在,在车辆名称的末尾会有一个奇怪的空括号 我尝试过使用DataTrigger,但粗体文本仍然存在,即使对于空区域值也是如此Wpf 如何更改文本块';基于属性的可见性';s值,wpf,treeview,datatrigger,Wpf,Treeview,Datatrigger,我已经设法让TreeView在WPF应用程序中工作。我使用HierarchicalDataTemplates来显示数据。我的数据是一个车辆列表,其中每辆车都有一个区域属性 有时Territory属性为空。当车辆未分配到某个地理区域时,会发生这种情况 我希望在树视图中的视觉表现应该是这样的: 车辆名称(地区名称) 当Vehicle.Territory为空时,我希望删除粗体文本。如果它仍然存在,在车辆名称的末尾会有一个奇怪的空括号 我尝试过使用DataTrigger,但粗体文本仍然存在,即使对于空区
<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时,我需要做什么才能使粗体文本块消失?这是字符串“x:Null”
这是,它返回实际的null
。这就是你想要的
Value="{x:Null}"
*头一巴掌*非常感谢你Ed!
Value="{x:Null}"