FrameworkElement.LayoutUpdated Ereignis
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 LayoutUpdated
ist 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.