Enviar Parámetros Personalizados a un Evento
En algún momento vamos a
necesitar enviar parámetros a un evento, presupongamos que tenemos
el siguiente escenario, tenemos una vista en WPF (XAML, con Code –
Behind) y tenemos una clase llamada Persona.
Supongamos que cuando
sucede un evento determinado, como por ejemplo el cambio de alguna de
sus propiedades, debe de avisarle a la vista que despliegue un
MessageBox en pantalla con un mensaje.
Para poder conseguir
esto haremos lo siguiente; crearemos una nueva clase llamada "EventArgsWithMessage”
que heredara de EventArgs:
public class EventArgsWithMessage:EventArgs
{
public string Message{get;set;}
public EventArgsWithMessage(string_message)
{
this.Message=_message;
}
}
El siguiente paso sera crear un “EventHandler” en nuestra clase
Persona, de la siguiente manera:
public event EventHandler ShowErrorMessage;
Como siguiente paso dentro de la misma clase usaremos el siguiente
código para realizar la llamada al evento, ese código debe de estar
en algún método:
if(this.CancelChanges==null)
return;
this.CancelChanges(this,newEventArgsWithMessage("A Message"));
Ya definido el evento, deberemos de implementar el evento en nuestra
vista, que lo haremos como sigue (Se usa tipos genéricos para
realizar la instancia del evento):
Private Persona persona= new Persona();
persona.ShowErrorMessage+=new EventHandler<EventArgsWithMessage>(ShowError);
Y por ultimo implementaremos el método llamada “ShowError”, de
la siguiente manera:
void ShowError(object sender,EventArgsWithMessage e)
{
MessageBox.Show("Message:" + e.Message);
}
Con eso ya estaría todo lo necesario para poder crear un evento con
parámetros personalizados
Suerte!.
Comentarios
Publicar un comentario