Window.SizeChanged イベント

定義

アプリ ウィンドウが最初にレンダリングされたとき、またはレンダリング サイズが変更されたときに発生します。

public:
 virtual event WindowSizeChangedEventHandler ^ SizeChanged;
// Register
event_token SizeChanged(WindowSizeChangedEventHandler const& handler) const;

// Revoke with event_token
void SizeChanged(event_token const* cookie) const;

// Revoke with event_revoker
Window::SizeChanged_revoker SizeChanged(auto_revoke_t, WindowSizeChangedEventHandler const& handler) const;
public event WindowSizeChangedEventHandler SizeChanged;
function onSizeChanged(eventArgs) { /* Your code */ }
window.addEventListener("sizechanged", onSizeChanged);
window.removeEventListener("sizechanged", onSizeChanged);
- or -
window.onsizechanged = onSizeChanged;
Public Custom Event SizeChanged As WindowSizeChangedEventHandler 

イベントの種類

WindowSizeChangedEventHandler

注釈

このイベントは、アプリ ウィンドウの Bounds 値に変更が加わるたびに発生します。 これは、ユーザーがアプリのサイズを変更したり、表示方向を変更したりするためです。 もう 1 つのトリガーは、ユーザーが別の解像度を持つ新しいディスプレイにアプリを移動し、アプリ ウィンドウが展開されて表示される場合です。

Window.SizeChanged は、ユーザーが意図的にアプリのサイズを変更したか、向きを検出する PC でディスプレイを回転したことを検出するために処理するイベントです。 アプリ ウィンドウが横向きから縦向き、またはその逆に変わったことを検出できます。 アプリ ウィンドウの向きは、アプリ ウィンドウ内の個々のコントロールの表示方法に影響する場合があります。 たとえば、縦向きの 場合は ListView に、横向きの 場合は GridView にデータ リストを表示できます。 通常は、境界に基づいて向きを決定するために対Window.Current.Bounds.HeightWindow.Current.Bounds.Width比率を比較し、Window.SizeChanged が起動するたびにこれを行います。 幅と高さの比率を正確に解釈する方法はあなた次第です。

Window.SizeChanged のハンドラーを FrameworkElement.Loaded イベントのハンドラー内のページ レベルでアタッチする場合は、そのページから FrameworkElement.Unloaded イベント ハンドラー内のハンドラーをデタッチする必要があります。 Window.Current インスタンスはページ ナビゲーション間でアクティブなままであり、最新のページ コードに対してのみハンドラーがアクティブになっている必要があります。

Window.SizeChanged ハンドラーは、アプリのサイズを変更できる最小サイズを適用する方法ではありません。 これはアプリ マニフェストによって制御されます。 ただし、ビジュアルの状態を変更するためのロジックは、意図した最小幅用に設計された状態を読み込める必要があり、通常は Bounds 値と Window.SizeChanged 処理を使用して、アプリ ウィンドウが最小幅を使用していることを検出します。

Window.SizeChanged を使用してアプリ ウィンドウ環境の変更を検出し、アプリの適切なビジュアル状態を読み込む方法の詳細については、「 クイック スタート: さまざまなウィンドウ サイズのアプリの設計」を参照してください。

FrameworkElement 派生型に存在する SizeChanged という名前の別のイベントがあります (WindowFrameworkElement 型ではありません)。 FrameworkElement.SizeChanged イベントは、Window.SizeChanged が発生するのと同じ状況の多くで発生する可能性があります。 アプリ ウィンドウのサイズが変更されると、ルート ビジュアル要素 (通常は ページ またはパネル) のサイズが変更される可能性があります。 これにより、アダプティブ レイアウトを使用して使用可能な領域を埋めるサブ要素に対して、レイアウト無効化の連鎖が設定されます。 レイアウト パスのために新しいディメンションを持つ各要素は、独自の FrameworkElement.SizeChanged イベントを 発生します。

適用対象

こちらもご覧ください