Wpf - ListView sencillo mostrando una coleccion

Descripción general

Código muy sencillo que muestra como usar un control ListView con una colección

[TOC] Tabla de Contenidos

Este documento muestra cmo usar un control ListView sencillo con una coleccion:


↑↑↑

Primero - la clase que está contenida en la colección

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


↑↑↑


↑↑↑

Segundo el codigo Xaml

<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>


↑↑↑

El codigo VB de la pantalla

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


↑↑↑

Imagen del resultado

Falta el texto Alt de la imagen


↑↑↑

Usando una coleccion en una clase independiente

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:


↑↑↑

Primero - la clase que está contenida en la colección

es la misma clase "Colega" que hemos visto anteriormente


↑↑↑

Segundo La nueva clase coleccion

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


↑↑↑

Tercero el codigo Xaml

Es exactamente igual al que hemos visto anteriormente


↑↑↑

Cuarto - El (Nuevo) codigo VB de la pantalla


Public Class Window1

    'código refactorizado
    Dim coleccion As New ColeccionObservable

    Public Sub New()
        InitializeComponent()

        lvDataBinding.ItemsSource = coleccion.ListViewItemsCollections
    End Sub

End Class


↑↑↑

Imagen del segundo resultado

Como ves es exactamente el mismo resultado

Falta el texto Alt de la imagen


↑↑↑

A.2.Enlaces

[Para saber mas]
[Grupo de documentos]
[Documento Index]
[Documento Start]
[Imprimir el Documento]
© 1997 - - La Güeb de Joaquín
Joaquín Medina Serrano
Ésta página es española

Codificación
Fecha de creación
Última actualización
[HTML5 Desarrollado usando CSS3]