XAML / C#如果绑定值为空,则隐藏TextBlock

问题描述 投票:0回答:1

在我的WPF应用程序中,我有一个列表视图,仅当绑定项具有值时才会出现,这是这样的>]

<ListView Grid.Row="1" Grid.Column="1" Margin="0,5,0,20" BorderThickness="0"
                  ItemContainerStyle="{StaticResource SelectionlessListViewItemStyle}" 
                  ItemsSource="{Binding MissingAssets}">
            <ListView.Style>
                <Style TargetType="ListView">
                    <Style.Triggers>
                        <Trigger Property="HasItems" Value="False">
                            <Setter Property="Visibility" Value="Collapsed"></Setter>
                        </Trigger>
                    </Style.Triggers>
                </Style>
            </ListView.Style>

因此,仅当MissingAssets具有任何值并且可以正常工作时,它才会显示列表视图,在此之上,我希望将文本块作为标题仅说“找不到以下资产”,并且我当然想隐藏此文本这个listview也被隐藏了,我尝试像这样实现它

    <TextBlock Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" FontWeight="Bold" Text="The following assets could not be found">
        <TextBlock.Style>
            <Style TargetType="{x:Type TextBlock}">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding MissingAssets}" Value="">
                        <Setter Property="Visibility" Value="Collapsed"/>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </TextBlock.Style>
    </TextBlock>

但是由于某些原因,即使MissingAssets为空,它也不会隐藏,我尝试在Value =“”中使用几种不同的东西,但是没有任何东西能使它起作用。有没有我要设置的属性或东西?

谢谢

在我的WPF应用程序中,我有一个列表视图,仅在绑定项具有值的情况下才会出现,这就像这样[

c# wpf xaml
1个回答
0
投票

您在这里有很多选择。最简单的方法是将TextBlock.Visibility绑定到ListView.Visibilty

© www.soinside.com 2019 - 2024. All rights reserved.