Share via


Window.SizeChanged イベント

定義

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

// Register
event_token SizeChanged(TypedEventHandler<IInspectable, WindowSizeChangedEventArgs const&> 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, TypedEventHandler<IInspectable, WindowSizeChangedEventArgs const&> const& handler) const;
public event TypedEventHandler<object,WindowSizeChangedEventArgs> SizeChanged;
function onSizeChanged(eventArgs) { /* Your code */ }
window.addEventListener("sizechanged", onSizeChanged);
window.removeEventListener("sizechanged", onSizeChanged);
- or -
window.onsizechanged = onSizeChanged;
Public Custom Event SizeChanged As TypedEventHandler(Of Object, WindowSizeChangedEventArgs) 

イベントの種類

注釈

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

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

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

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

Window.SizeChanged を使用してアプリ ウィンドウ環境の変更を検出し、アプリの適切なビジュアル状態を読み込む方法の詳細については、「XAML を使用した レスポンシブ レイアウト」を参照してください。

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

適用対象

こちらもご覧ください