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 

イベントの種類

注釈

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

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

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

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

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

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

適用対象

こちらもご覧ください