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, da 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 Objektlebensdauer-Ereignis, das in der XAML-Ladesequenz auftritt, bevor ein Steuerelement für die Interaktion bereit ist.
LayoutUpdated Kann jedoch auch während der Laufzeit während der Objektlebensdauer auftreten, aus verschiedenen Gründen: Eine Eigenschaftsänderung, eine Fenstergröße oder eine Laufzeitlayoutanforderung (UpdateLayout oder eine geänderte Steuerelementvorlage). Das LayoutUpdated Ereignis wird ausgelöst, nachdem alle SizeChanged-Ereignisse in einer Layoutsequenz auftreten.
LayoutUpdated kann auftreten, wenn das Objekt, an das der Handler angefügt ist, nichts in der visuellen Struktur unter ihr ändert. Stellen Sie sich beispielsweise einen Layoutcontainer vor, in dem zwei untergeordnete Elemente Platz teilen. Wenn das erste Objekt eine Eigenschaft ändert, die ein neues Layout erzwingt, werden layoutUpdated von beiden Objekten ausgelöst, da das zweite Objekt möglicherweise neu positioniert wird, auch wenn sich das eigene untergeordnete Layout nicht ändert.
Wenn Sie den Absenderwert behandeln LayoutUpdated, verlassen Sie sich nicht auf den Absenderwert . Für LayoutUpdated, Absender ist immer null, unabhängig davon, wo der Handler angefügt ist. Dadurch wird verhindert, dass Handler Absendern eine Bedeutung zuweisen, z. B. dass es sich um ein bestimmtes Element handelt, das das Ereignis aus der visuellen Struktur ausgelöst hat.
LayoutUpdated impliziert, dass sich etwas in der gesamten visuellen Struktur geändert hat, und jedes bestimmte Objekt an einer beliebigen Stelle in der Struktur hat die Möglichkeit, dieses Vorkommen zu behandeln. Wenn Sie mit dem Entwurf der Render-API auf niedrigerer Ebene vertraut sind, können Sie gleichbedeutend mit einer "neu gezeichneten" Kennzeichnung, LayoutUpdated die als Teil einer objektgesteuerten, beibehaltenen Renderinglogik festgelegt wird, ausgelöst werden.
Da LayoutUpdated das Ereignis in vielen Fällen ausgelöst wird und nicht immer für ein Objekt spezifisch ist, das tatsächlich geändert wird, überlegen Sie, ob die Behandlung des SizeChanged-Ereignisses für Ihr Szenario besser geeignet ist.