FrameworkElement.LayoutUpdated イベント
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
レイアウト関連のプロパティが値を変更したり、レイアウトを更新するその他のアクションが原因で、ビジュアル ツリーのレイアウトが変更されたときに発生します。
// 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"/>
イベントの種類
注釈
LayoutUpdated
は、コントロールを操作する準備が整う前に XAML 読み込みシーケンスで発生する最後のオブジェクト有効期間イベントです。 ただし、プロパティの LayoutUpdated
変更、ウィンドウのサイズ変更、ランタイム レイアウト要求 (UpdateLayout または変更されたコントロール テンプレート) など、さまざまな理由で、オブジェクトの有効期間中に実行時にも発生する可能性があります。 このイベントは LayoutUpdated
、レイアウト シーケンス内のすべての SizeChanged イベントが発生した 後に発生します。
LayoutUpdated
ハンドラーがアタッチされているオブジェクトが、その下のビジュアル ツリー内で必ずしも何も変更されない場合に発生する可能性があります。 たとえば、スペースを共有する 2 つの子要素があるレイアウト コンテナーがあるとします。 最初のオブジェクトが新しいレイアウトを強制するプロパティを変更すると、両方のオブジェクトが LayoutUpdated を発生させます。これは、2 番目のオブジェクトが、独自の補助レイアウトが変更されない場合でも再配置される可能性があるためです。
を処理 LayoutUpdated
する場合は 、送信者 の値に依存しないでください。 の場合 LayoutUpdated
、ハンドラーがアタッチされている場所に関係なく、 sender は常 null
に です。 これは、ハンドラーが 送信者に意味を割り当てないようにするためです。たとえば、ビジュアル ツリーからイベントを発生させる特定の要素であることを意味します。
LayoutUpdated
は、ビジュアル ツリー全体の何かが変更され、ツリー内の任意の場所にある各特定のオブジェクトに、この発生を処理するオプションがあることを意味します。 下位レベルのレンダリング API 設計に慣れている場合は、オブジェクト駆動型の保持モードレンダリング ロジックの一部として設定される "再描画が必要な" フラグと同様に発生するのと同じ LayoutUpdated
ことができます。
多くの状況で発生し、実際に変更されるオブジェクトに固有であるとは限らないため LayoutUpdated
、 代わりに SizeChanged イベントを処理する方がシナリオに適しているかどうかを検討してください。