gpt4 book ai didi

c# - 有没有办法在 xaml 中隐藏 ListView?

转载 作者:太空宇宙 更新时间:2023-11-03 19:54:19 25 4
gpt4 key购买 nike

我有以下问题。我的 ListView 有一个灰色背景,当 ListView 为空时,您可以在窗口上看到一条小灰线。这看起来很难看,所以我想在它为空时隐藏整个 ListView 以避免这种情况。

我搜索了是否有样式属性可以执行此操作,但我找到的唯一内容是如何隐藏 ListViewItem 或 ListViewHeader。有人有解决这个问题的想法,必须有一些东西。

最佳答案

创建一个 Converter,当您的 ItemsSource 引用集合为空时返回 Visibility.Collapsed

例如:

<ListView ItemSource="{Binding MyCollection}" Visibility="{Binding MyCollection, Converter={StaticResource EmptyCollectionConverter}}"/>

您的 IValueConverter.Convert() 实现看起来像这样:

public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 
{
var coll = value as IEnumerable<object>;
return (coll.Count() > 0) ? Visibility.Visible : Visibility.Collapsed;
}

更新: 来自 another answer关于如何使用样式绑定(bind)到 Collection.Count:

<YourControl.Style>                     
<Style TargetType="YourControl">
<Setter Property="Visibility" Value="Collapsed" />
<Style.Triggers>
<DataTrigger Binding="{Binding MyList.Count}" Value="0">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
</Style.Triggers>
</Style>
</YourControl.Style>

关于c# - 有没有办法在 xaml 中隐藏 ListView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35458291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com