Cómo mostrar en la vista de lista de WPF usando el GridView un texto vacío (como en ASP.net), p. "por favor seleccione una persona" o "0 artículos encontrados"?WPF Listview texto en blanco
Respuesta
Este XAML hará algo similar, tiene un ListView visible que muestra una lista y un mensaje oculto y cambia de visibilidad cuando la lista está vacía usando un disparador .
El siguiente código funcionará con cualquier IList o ICollection pero la misma técnica se puede utilizar con cualquier fuente de datos, como siempre, si desea que la pantalla se actualice al agregar o quitar elementos, debe usar un ObservableCollection o similar .
ContentPresenter está ahí porque solo puede usar desencadenantes dentro de una plantilla o un estilo, por lo que ponemos nuestros controles dentro de una plantilla de datos y usamos el ContentPresenter para mostrarlos.
Si desea que el mensaje aparezca dentro de ListView, todo lo que tiene que hacer es eliminar el Setter que oculta el ListView y agregar un margen al TextBlock para colocarlo donde debe estar el primer elemento en 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>
¿Lo enlaza a una propiedad DataSource + que le devuelve el texto que desea? Ranura en un objeto ficticio cuya cadena es el texto que desea ...
- 1. Separador en ListView (WPF)?
- 2. WPF ListView: alineando el texto en las columnas seleccionadas
- 3. Android ListView Color de texto
- 4. WPF contextmenu y ListView
- 5. WPF Data virtualizando ListView
- 6. WPF Listview SelectionChanged evento
- 7. WPF ListView Virtualization Grouping
- 8. Aero resplandor blanco en WPF?
- 9. WPF ListView Seleccionar programáticamente elemento
- 10. wpf listview perdió el foco
- 11. (WPF) Animación ListView item move
- 12. WPF ListView SelectedItem es nulo
- 13. WPF ListView eliminar mouseover efecto
- 14. WPF Listview vinculante a ItemSource?
- 15. Establecer elemento de enfoque en ListView WPF
- 16. ¿Agregar columnas programatically a listview en WPF?
- 17. programación ListViewItem a ListView en WPF
- 18. WPF ListView con botones en cada línea
- 19. WPF DataGrid: Falta fila en blanco
- 20. Formato de texto WPF en GridViewColumn
- 21. C# ListView aparece en blanco con los grupos
- 22. ListView con imágenes y texto
- 23. WPF DataGrid de WPF toolkit vs ListView - ¿algún beneficio?
- 24. C# WPF Arrastrar para reordenar Listview
- 25. WPF ListView: cómo agregar elementos mediante programación.
- 26. ListView desplácese al último elemento WPF C#
- 27. WPF ListView Databound Drag/Drop Auto Scroll
- 28. Eliminar WPF ListView/GridView resaltar cromo
- 29. WPF ListView Mostrar siempre los elementos completos
- 30. WPF: ListView con vista de iconos?
Este ejemplo no funciona para ocultar el bloque de texto si no está vacío, porque el valor de visibilidad no es booleano. ¿Es posible cambiarlo a oculto? –
@Surup, no entiendo su comentario, el TextBlock está oculto cuando la lista no está vacía, pero es posible que desee ver BooleanToVisibilityConverter – Nir