【发布时间】:2010-12-03 07:32:02
【问题描述】:
我有一个绑定到ObservableCollection 的ListView。此外,我列出了ObservableCollection 中的所有项目。现在,有没有什么好方法可以检查ObservableCollection 是否为空,并显示替代的xaml?
【问题讨论】:
标签: wpf xaml data-binding observablecollection
我有一个绑定到ObservableCollection 的ListView。此外,我列出了ObservableCollection 中的所有项目。现在,有没有什么好方法可以检查ObservableCollection 是否为空,并显示替代的xaml?
【问题讨论】:
标签: wpf xaml data-binding observablecollection
您可以使用 ListView 的 HasItems 依赖属性。使用触发器,当属性为 false 时,您可以更改 ControlTemplate。举个例子:
<ListView ItemsSource="{Binding Items}">
<ListView.Style>
<Style TargetType="{x:Type ListView}">
<Style.Triggers>
<Trigger Property="HasItems" Value="False">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListView}">
<Border SnapsToDevicePixels="true"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<TextBlock Text="No items"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</ListView.Style>
</ListView>
【讨论】: