Código muy sencillo que muestra como usar un control ListView con una colección
Este documento muestra cmo usar un control ListView sencillo con una coleccion:
Public Class Colega Public Property Name() As String Public Property Age() As Integer Public Property Mail() As String Public Overrides Function ToString() As String Return String.Format("{0}, {1} años", Me.Name, Me.Age) End Function End Class
<Window x:Class="Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WpfListWiewDataTemplate" mc:Ignorable="d" Title="Window1" Height="300" Width="300"> <Grid> <ListView Margin="10" Name="lvDataBinding"></ListView> </Grid> </Window>
Class MainWindow Public Sub New() InitializeComponent() Dim items As New List(Of Colega)() items.Add(New Colega() With {.Name = "Pedro Pérez", .Age = 42, .Mail = "pedro@perez.family.com"}) items.Add(New Colega() With {.Name = "Maria Pérez", .Age = 39, .Mail = "maria@perez.family.com"}) items.Add(New Colega() With {.Name = "Juan Rodriguez", .Age = 13, .Mail = "juan.rodriguez@gmail.com"}) lvDataBinding.ItemsSource = items End Sub End Class
Si queremos usar una colección que está situada en una clase independiente, los pasos que hay que dar difieren un poco. Para empezar deberemos escribir la clase colección., también tendremos que modificar el código subyacente de la ventana, porque ahora, en la función "new" ya no se declaran los valores que muestra el ListView, sino que ahora están en la clase colección. Los cambios son los siguientes:
es la misma clase "Colega" que hemos visto anteriormente
Imports System.Collections.ObjectModel Public Class ColeccionObservable Inherits ObservableCollection(Of Colega) Public Sub New() Me.Add(New Colega() With {.Name = "Pedro Pérez", .Age = 42, .Mail = "pedro@perez.family.com"}) Me.Add(New Colega() With {.Name = "Maria Pérez", .Age = 39, .Mail = "maria@perez.family.com"}) Me.Add(New Colega() With {.Name = "Juan Rodriguez", .Age = 13, .Mail = "juan.rodriguez@gmail.com"}) End Sub Public ReadOnly Property ListViewItemsCollections As ObservableCollection(Of Colega) Get Return Me End Get End Property End Class
Es exactamente igual al que hemos visto anteriormente
Public Class Window1 'código refactorizado Dim coleccion As New ColeccionObservable Public Sub New() InitializeComponent() lvDataBinding.ItemsSource = coleccion.ListViewItemsCollections End Sub End Class
Como ves es exactamente el mismo resultado
© 1997 - - La Güeb de Joaquín | |||||
Joaquín Medina Serrano
|
|||||
|
Codificación | |
Fecha de creación | |
Última actualización | |
![]() |