Comparteix a través de


PresentationSource.AddSourceChangedHandler Método

Definición

Agrega un controlador para el evento SourceChanged al elemento proporcionado.

public:
 static void AddSourceChangedHandler(System::Windows::IInputElement ^ element, System::Windows::SourceChangedEventHandler ^ handler);
[System.Security.SecurityCritical]
public static void AddSourceChangedHandler (System.Windows.IInputElement element, System.Windows.SourceChangedEventHandler handler);
public static void AddSourceChangedHandler (System.Windows.IInputElement element, System.Windows.SourceChangedEventHandler handler);
[<System.Security.SecurityCritical>]
static member AddSourceChangedHandler : System.Windows.IInputElement * System.Windows.SourceChangedEventHandler -> unit
static member AddSourceChangedHandler : System.Windows.IInputElement * System.Windows.SourceChangedEventHandler -> unit
Public Shared Sub AddSourceChangedHandler (element As IInputElement, handler As SourceChangedEventHandler)

Parámetros

element
IInputElement

Elemento al que se va a agregar el controlador.

handler
SourceChangedEventHandler

Implementación del controlador que se va a agregar.

Atributos

Comentarios

A pesar de lo que indica el bloque de sintaxis de este evento, no hay ningún uso legítimo del lenguaje de marcado de aplicaciones extensibles (XAML). No debes intentar agregar controladores en lenguaje de marcado de aplicaciones extensibles (XAML) y los controladores del código solo deben colocarse en objetos que actúen como hosts para el contenido de presentación (PresentationSource ). Estos controladores solo deben asociarse durante la inicialización de objetos y deben quitarse explícitamente en un método Dispose o en una limpieza de objetos equivalente.

Aunque se trata de un evento enrutado, hay restricciones especiales que difieren del comportamiento normal del evento enrutado, debido al número relativamente pequeño de elementos en un escenario de aplicación típico que se preocuparía por controlar este evento.

  • No puede usar los métodos UIElement ni ContentElementAddHandler para agregar controladores. Debe usar AddSourceChangedHandler.

  • No se admiten los += de C# y -= sintaxis del controlador de eventos ni las sintaxis del controlador relacionadas específicas del lenguaje, ya que el propio evento no se expone como público. Solo se admiten los métodos de utilidad PresentationSource para agregar y quitar los controladores directamente.

  • No se permiten controladores de clase. En concreto, no se puede llamar a RegisterClassHandler en este evento en un constructor de clase porque, aunque existe un campo de identificador para SourceChanged, el identificador no es público.

  • Todos los controladores registrados recibirán el evento SourceChanged incluso si uno de los controladores intenta marcar los argumentos como controlado.

Se aplica a