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 LayoutUpdated evento se desencadena después de que se produzcan todos los eventos SizeChanged en 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 secundario no cambie.

Al controlar LayoutUpdated, no se base en el valor del remitente . Para LayoutUpdated, el remitente siempre nulles , independientemente de dónde se adjunte 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 la desencadenación como similar a una marca "redraw needed" que se establece como parte de una lógica de representación en modo retenido controlada por objetos.

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

Se aplica a

Consulte también