作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
如何使用 GridView 在 WPF ListView 中显示空文本(如在 ASP.net 中),例如“请选择一个人”或“0 项成立”?
最佳答案
此 XAML 将执行类似的操作,它有一个显示列表和隐藏消息的可见 ListView,并在列表为空时使用触发器切换可见性。
下面的代码适用于任何 IList 或 ICollection,但同样的技术可用于任何数据源,就像往常一样,如果您希望在添加或删除项目时更新显示,则需要使用 ObservableCollection 或类似的。
ContentPresenter 在那里是因为您只能在模板或样式中使用触发器,所以我们将控件放在 DataTemplate 中并使用 ContentPresenter 来显示它。
如果您希望消息显示在 ListView 中,那么您所要做的就是删除隐藏 ListView 的 Setter 并向 TextBlock 添加一些边距以将其定位在 ListVIew 中第一个项目应该出现的位置。
<ContentPresenter Content="{Binding}">
<ContentPresenter.ContentTemplate>
<DataTemplate>
<Grid>
<ListView Name="list" ItemsSource="{Binding MyList}"/>
<TextBlock Name="empty" Text="No items found" Visibility="Collapsed"/>
</Grid>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding MyList.Count}" Value="0">
<Setter TargetName="list" Property="Visibility" Value="Collapsed"/>
<Setter TargetName="empty" Property="Visibility" Value="Visible"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</ContentPresenter.ContentTemplate>
</ContentPresenter>
关于c# - WPF Listview 空文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1019017/
我是一名优秀的程序员,十分优秀!