/ / Показати текст у ListView замість колекції - wpf, listview

Показати текст у ListView замість колекції - wpf, listview

Я використовую a ListView з GridView перегляд для відображення результатів пошуку. Мені б хотілося відображати інформаційне повідомлення (на кшталт "Не знайдено елементів") у середині ListView у випадку, коли немає елементів для відображення. Як я можу це зробити?

Відповіді:

1 для відповіді № 1

Ви можете змінити шаблон ListView із тригером у стилі, коли у ListView немає елементів, наприклад:

    <ListView Name="List"
DockPanel.Dock="Top"
ItemsSource="{Binding Items}">
<ListView.View>
<GridView>
<GridView.Columns>
<GridViewColumn Width="70" Header="Serial" DisplayMemberBinding="{Binding Path=Serial}" />
</GridView.Columns>
</GridView>
</ListView.View>
<ListView.Style>
<Style TargetType="ListView">
<Style.Triggers>
<Trigger Property="HasItems"
Value="False">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListView">
<StackPanel>
<ListView>
<ListView.View>
<GridView>
<GridView.Columns>
<GridViewColumn Width="70" Header="Serial" DisplayMemberBinding="{Binding Path=Serial}" />
</GridView.Columns>
</GridView>
</ListView.View>
</ListView>
<TextBlock Text="No items..."/>
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</ListView.Style>
</ListView>