INotifyPropertyChanged para Windows Phone y Windows Store

0
201
Rate this post

Una de los feacture que trae Visual Studio, para quienes desarrollamos para Windows Phone & Windows[RunTime] PropertyChanged, esta se encuentra en el namespace System.ComponentModel.

La funcion de PropertyChanged es simple notificar cuando hay un cambio en una propiedad.

Las propiedades las declaramos de la siguiente forma:

Public string MiVariable { get; set;}

En este ejemplo crearemos una clase con el nombre GPChanged (General Property Changed)

Vamos a trabajar dentro de la clase

El primer paso que debemos hacer es importar la librería necesaria

Using System.ComponenteModel;

Le asignamos la interface INotifyPropertyChanged al main de nuestra clase

public class GPChanged: INotifyPropertyChanged

Declaración de variables y/o inicio

private string TextoEjemplo;
        public GPChanged () {
            TextoEjemplo = "Hola Esto es desde la VMBase";
        }

Crearemos un evento con el nombre PropertyChanged

public event PropertyChangedEventHandler PropertyChanged;

Declaramos una propiedad con el nombre Textoejemplo

public string Textoejemplo
        {
            get { return TextoEjemplo; }//Captura el valor que tiene la variable TextoEjemplo y es utilizado en la propiedad Textoejemplo
            set
            {
                TextoEjemplo = value; //cuando asignamos un valor a la propiedad Textoejemplo decimos que la variable privada debe de obtener el valor de la propiedad.
                RaisePropertyChanged("Textoejemplo "); //llamamos al metodo encargado de hacer la notificacion y pasamos como parametro el nombre de la propiedad como string
            }
        }

Veamos como crear los eventos y/o metodos necesarios

public event PropertyChangedEventHandler PropertyChanged; // Creamos un Evento llamado PropertyChanged

public void RaisePropertyChanged(string propertyName) //Creamos un metodo que recibe un parametro String 
        {
            if (PropertyChanged != null) //Verificamos si el PropertyChanged es distinto de null
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); //llamamos al PropertyChanged y pasamos el nombre de la propiedad  a notificar
        }

        private void UpDateAll() {
            RaisePropertyChanged(String.Empty); //Este evento sirve para notificar a todas las propiedades.
        }

Hasta la ProximaWinking smile

 


Source: https://mspeduardoramirez.wordpress.com

Dejar respuesta