Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 如何更改文本块';基于属性的可见性';s值_Wpf_Treeview_Datatrigger - Fatal编程技术网

Wpf 如何更改文本块';基于属性的可见性';s值

Wpf 如何更改文本块';基于属性的可见性';s值,wpf,treeview,datatrigger,Wpf,Treeview,Datatrigger,我已经设法让TreeView在WPF应用程序中工作。我使用HierarchicalDataTemplates来显示数据。我的数据是一个车辆列表,其中每辆车都有一个区域属性 有时Territory属性为空。当车辆未分配到某个地理区域时,会发生这种情况 我希望在树视图中的视觉表现应该是这样的: 车辆名称(地区名称) 当Vehicle.Territory为空时,我希望删除粗体文本。如果它仍然存在,在车辆名称的末尾会有一个奇怪的空括号 我尝试过使用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}"