Freigeben über


FrameworkElement.LayoutUpdated Ereignis

Definition

Tritt auf, wenn sich das Layout der visuellen Struktur ändert, weil layoutrelevante Eigenschaften den Wert ändern oder eine andere Aktion, die das Layout aktualisiert.

// 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"/>
 

Ereignistyp

Hinweise

LayoutUpdated ist das letzte Objektlebensdauerereignis, das in der XAML-Ladesequenz auftritt, bevor ein Steuerelement für die Interaktion bereit ist. Kann jedoch LayoutUpdated auch zur Laufzeit während der Objektlebensdauer auftreten, aus verschiedenen Gründen: eine Eigenschaftsänderung, eine Fensteranpassung oder eine Laufzeitlayoutanforderung (UpdateLayout oder eine geänderte Steuerelementvorlage). Das LayoutUpdated Ereignis wird ausgelöst, nachdem alle SizeChanged-Ereignisse in einer Layoutsequenz aufgetreten sind.

LayoutUpdated kann auftreten, wenn das Objekt, in dem der Handler angefügt ist, in der visuellen Struktur darunter nicht unbedingt etwas ändert. Stellen Sie sich für instance einen Layoutcontainer vor, in dem zwei untergeordnete Elemente Platz gemeinsam nutzen. Wenn das erste Objekt eine Eigenschaft ändert, die ein neues Layout erzwingt, lösen beide Objekte LayoutUpdated aus, da das zweite Objekt möglicherweise neu positioniert wird, auch wenn sich das eigene untergeordnete Layout nicht ändert.

Wenn Sie behandeln LayoutUpdated, verlassen Sie sich nicht auf den Absenderwert . Für LayoutUpdatedist der Absender immer null, unabhängig davon, wo der Handler angefügt ist. Dies ist, um zu verhindern, dass Handler dem Absender eine Bedeutung zuweisen, z. B. die Implizieren, dass es sich um das spezifische Element handelt, das das Ereignis aus der visuellen Struktur ausgelöst hat. LayoutUpdated bedeutet, dass sich etwas in der visuellen Gesamtstruktur geändert hat und jedes bestimmte Objekt überall in der Struktur die Möglichkeit hat, dieses Vorkommen zu behandeln. Wenn Sie mit dem Entwurf der Render-API auf niedrigerer Ebene vertraut sind, können Sie das Auslösen als ähnlich wie ein "Redraw needed"-Flag gleichsetzen LayoutUpdated , das als Teil einer objektgesteuerten Renderinglogik im Beibehaltungsmodus festgelegt wird.

Da LayoutUpdated unter vielen Umständen ausgelöst wird und nicht immer spezifisch für ein Objekt ist, das sich tatsächlich ändert, sollten Sie überlegen, ob die Behandlung des SizeChanged-Ereignisses stattdessen für Ihr Szenario geeigneter ist.

Gilt für:

Weitere Informationen