次の方法で共有


UIElement.InvalidateArrange メソッド

定義

UIElement の配置状態 (レイアウト) を無効にします。 無効化後、 UIElement のレイアウトが更新され、非同期的に実行されます。

public:
 virtual void InvalidateArrange() = InvalidateArrange;
void InvalidateArrange();
public void InvalidateArrange();
function invalidateArrange()
Public Sub InvalidateArrange ()

注釈

独自の方向プロパティを維持するコントロールは、新しい方向のレイアウトを再構築する方法として、その向きが変更されたときに InvalidateArrange を呼び出す場合があります。 InvalidateArrange は、使用可能なサイズが適切でない場合や、使用可能なサイズを異なる方法で使用する代替レイアウト戦略をロジックで許可する場合など、カスタム レイアウト ロジック内から呼び出される場合もあります。

UpdateLayout は基本的に、 InvalidateMeasure と InvalidateArrange を順番に呼び出すことと同じです。

レイアウトの更新は、組み込みのレイアウト システムの動作に依存するのではなく、アプリ コードによって強制される可能性があります。 ただし、これは一般的には推奨されません。 InvalidateArrange、 InvalidateMeasure 、または UpdateLayout の呼び出しは通常不要であり、過剰に使用するとパフォーマンスが低下する可能性があります。 アプリ コードでレイアウト プロパティが変更される可能性がある多くの状況では、レイアウト システムは既に更新を非同期的に処理している可能性があります。 レイアウト システムには、親子関係を介したレイアウト変更の連鎖に対処するための最適化も含まれており、アプリ コードを使用したレイアウトの強制は、このような最適化に対して機能します。 ただし、レイアウトの状況は、レイアウトのタイミングの問題やその他の問題を解決するための最適なオプションである、より複雑なシナリオに存在する可能性があります。 慎重かつ控えめに使用してください。

適用対象

こちらもご覧ください