Compartir a través de


FrameworkElement.LayoutUpdated Evento

Definición

Se produce cuando cambia el diseño del árbol visual, debido a que las propiedades relevantes para el diseño cambian el valor o alguna otra acción que actualiza el diseño.

// Register
event_token LayoutUpdated(EventHandler<IInspectable> const& handler) const;

// Revoke with event_token
void LayoutUpdated(event_token const* cookie) const;

// Revoke with event_revoker
FrameworkElement::LayoutUpdated_revoker LayoutUpdated(auto_revoke_t, EventHandler<IInspectable> const& handler) const;
public event System.EventHandler<object> LayoutUpdated;
function onLayoutUpdated(eventArgs) { /* Your code */ }
frameworkElement.addEventListener("layoutupdated", onLayoutUpdated);
frameworkElement.removeEventListener("layoutupdated", onLayoutUpdated);
- or -
frameworkElement.onlayoutupdated = onLayoutUpdated;
Public Custom Event LayoutUpdated As EventHandler(Of Object) 
<frameworkElement LayoutUpdated="eventhandler"/>
 

Tipo de evento

Comentarios

LayoutUpdated es el último evento de duración del objeto que se va a producir en la secuencia de carga XAML antes de que un control esté listo para la interacción. Sin embargo, LayoutUpdated también puede producirse en tiempo de ejecución durante la duración del objeto, por diversos motivos: un cambio de propiedad, un cambio de tamaño de ventana o una solicitud de diseño en tiempo de ejecución (UpdateLayout o una plantilla de control modificada). El evento LayoutUpdated se desencadena después de que se produzcan todos los eventos SizeChanged de una secuencia de diseño.

LayoutUpdated puede producirse cuando el objeto donde está asociado el controlador no cambia necesariamente nada en el árbol visual debajo de él. Por ejemplo, imagine un contenedor de diseño donde hay dos elementos secundarios que comparten espacio. Si el primer objeto cambia una propiedad que fuerza un nuevo diseño, ambos objetos activan LayoutUpdated porque el segundo objeto se puede cambiar aunque su propio diseño subsidiario no cambie.

Al controlar LayoutUpdated, no confíe en el valor del remitente . Para LayoutUpdated, el remitente siempre es null, independientemente de dónde esté asociado el controlador. Esto es para evitar que los controladores asignen cualquier significado al remitente, por ejemplo, implicando que era ese elemento específico que desencadenó el evento fuera del árbol visual. LayoutUpdated implica que algo en el árbol visual general ha cambiado y cada objeto específico en cualquier parte del árbol tiene la opción de controlar esta repetición. Si está familiarizado con el diseño de la API de representación de nivel inferior, puede equiparar LayoutUpdated que se desencadena como similar a una marca de "volver a dibujar necesaria" que se establece como parte de una lógica de representación en modo retenido controlado por objetos.

Dado que LayoutUpdated se activa en muchas circunstancias y no siempre es específico de un objeto que realmente cambia, considere la posibilidad de controlar el evento SizeChanged en su lugar es más adecuado para su escenario.

Comportamiento de Windows 8

Windows 8 tenía un problema con el seguimiento de varios agentes de escucha para este evento. Si tuviera varios agentes de escucha o controladores para el evento, si intenta quitar uno de ellos, se quitarían todos ellos. El problema se corrige a partir de Windows 8.1; al quitar controladores de eventos que usan la -= sintaxis correctamente, solo se quita un agente de escucha a la vez. La mayoría del código no necesitará cambios ni comprobaciones de comportamiento porque tratar con varios agentes de escucha por evento es un escenario poco común.

Las aplicaciones compiladas para Windows 8 que se ejecuten en Windows 8.1 siguen usando el comportamiento de Windows 8.

Se aplica a

Consulte también