Autor: infovic
Los eventos de .NET Framework se basan en un modelo de delegado. El modelo de delegado sigue el patrón de diseño de observador, que habilita a un suscriptor para registrarse y recibir notificaciones de un proveedor. El emisor de un evento inserta una notificación de que se ha producido un evento, y un receptor de eventos recibe la notificación y define una respuesta a la misma. En este artículo se describen los componentes principales del modelo de delegado, cómo consumir eventos en las aplicaciones y cómo implementar eventos en el código.Un evento es un mensaje que envía un objeto cuando ocurre una acción. La acción podría ser causada por la interacción del usuario, como un clic del botón, o podría ser iniciado por otra lógica de programa, como cambiar un valor de propiedad. event sender.">El objeto que provoca el evento se conoce como emisor del evento. El emisor del evento no sabe qué objeto o método recibirá (controlará) los eventos que genera. Click event is a member of the Button class, and the PropertyChanged event is a member of the class that implements the INotifyPropertyChanged interface.">El evento normalmente es un miembro del emisor del evento; por ejemplo, el evento Click es un miembro de la clase Button, y el evento PropertyChanged es un miembro de la clase que implementa la interfaz INotifyPropertyChange.
Para poder crear un evento en un control Silverlight es necesario definir el objeto con sus parámetros.
Definiendo el evento:
public partial class ucDetalleCliente : UserControl
{
//Evento que será público
public delegate void EventoGeneral(object sender Cliente usuario);
public event EventoGeneral InformacionCargada;
//Constructor
public ucDetalleCliente(Cliente cliente)
{
// Required to initialize variables
InitializeComponent();
}
private void GenerarEvento_Click(object sender, RoutedEventArgs e)
{
if (InformacionCargada != null)
InformacionCargada(this, Cliente);
}
}
Los parámetros que se indican pueden ser de un tipo de dato definido por el usuario.
Desde otro control Silverlight únicamente suscribes el evento para que cuando se genere llegue a este control.
ucDetalleCliente detalle = new ucDetalleCliente();
detalle.InformacionCargada += new ucDetalleCliente.EventoGeneral(detalle_InformacionCargada);
Fuente del Artículo: http://www.articuloz.com/programacion-articulos/generar-eventos-personalizados-en-controles-silverlight-7045049.html
Sobre el Autor
Victor Velarde
http://www.dostics.com.mx
No hay comentarios:
Publicar un comentario