Pregunta

Tengo una propiedad de auto-generado a partir de la base de datos en mi edmx: Descripción . a continuación, se crea un archivo .cs "clase parcial" para la entidad y añadir una propiedad de sólo lectura: shortDescription . getter de shortDescription simplemente procesa (alimentación elimina línea, retorno de carro, etc) Descripción.

¿Cómo puedo aumentar la notificación de cambio de propiedad de shortDescription en el colocador de descripción?

Gracias!

¿Fue útil?

Solución

Esto va a ser un truco, pero se puede hacer.

En primer lugar, se debe redefinir ReportPropertyChanging y ReportPropertyChanged . A continuación, comprobar el parámetro para el nombre de su propiedad ... en este caso "Descripción". Si se produce, ReportPropertyChanging llamada o ReportPropertyChanged con el nombre de propiedad derivada, en este caso "shortDescription". Para cualquier otro valor del parámetro, llamar a la versión de la base de ReportPropertyChanging/Changed.

Editar: Por ejemplo:

    protected override void OnPropertyChanging(string property)
    {
        if (property == "Description")
        {
            base.OnPropertyChanging("ShortDescription");
        }
        base.OnPropertyChanging(property);
    }

    protected override void OnPropertyChanged(string property)
    {
        if (property == "Description")
        {
            base.OnPropertyChanged("ShortDescription");
        }
        base.OnPropertyChanged(property);
    }

Otros consejos

Los métodos son también parcial, por lo que en su clase parcial puede agregar un código como éste

 partial void OnDescriptionChanged()
  {
    OnPropertyChanged("ShortDescription"); 
  }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top