ObservableCollection y propiedades

Problema: Tengo una ObservableCollection que contiene una coleccion de objetos que son de tipo de una clase creada por mi. Esta ObservableCollection esta bindeada a un elemento XAML. Cuando añado o quito elementos el elemento XAML se me actualiza, pero cuando modifico las propiedades de los elementos de la coleccion, el elemento XAML no se entera.

Solucion: Hacer que nuestra clase a la que pertenecen los objetos de la ObservableCollection implemente el interfaz INotifyPropertyChanged. Al implementar la interfaz necesitaremos añadir a nuestra clase un nuevo evento publico de tipo PropertyChangedEventHandler.

public event PropertyChangedEventHandler PropertyChanged;

Finalmente, para las propiedades que queramos que actualicen el elemento XAML tendremos que hacer que cuando cambien de valor (en el SET de la propiedad) lancen el evento antes comentado. Ejemplo con una propiedad llamada “miPropiedad”:

set
{
    _miPropiedad = value;
    if (PropertyChanged != null)
    {
        PropertyChanged(this, new PropertyChangedEventArgs("MiPropiedad"));
    }
}

Advertisement

Etiquetas: ,

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s


Seguir

Get every new post delivered to your Inbox.