【初心者向け】WinUI 3「空白のウィンドウ」と「空白のページ」の違いと使い分けを徹底解説!
2025-04-25
Windowsアプリ開発の中でも、近年注目を集めているのが「WinUI 3」です。特にデスクトップ向けのネイティブアプリを開発する際に、XAMLとC#を用いた柔軟なUI設計が可能となります。しかし、Visual Studioで新規プロジェクトを作成するときに出てくる「空白のウィンドウ(デスクトップの WinUI 3)」と「空白のページ(WinUI 3)」の違いについて、戸惑う初心者も多いでしょう。
「空白のウィンドウ」とは?
「空白のウィンドウ」は Window
クラスを基にしており、完全に独立したウィンドウを構成するテンプレートです。従来のWindows Formsでいうところの「Form」に近く、ボタン一つでサブウィンドウを開くようなユースケースにも適しています。
「空白のページ」とは?
一方、「空白のページ」は Page
クラスをベースとしており、ナビゲーションフレーム(Frame
)の中で切り替えて表示される UI の1画面を構成します。つまり、WebのSPAのように1つのウィンドウの中でページ遷移を行うような構成にしたい場合に使用されます。
使い分けのポイント
- 複数の画面を独立して開く: 空白のウィンドウ
- アプリ内でページを切り替えたい: 空白のページ + Frame
- 再利用可能なUIコンポーネントを作りたい: ユーザー コントロール(UserControl)
例えば、設定画面やポップアップウィンドウは「空白のウィンドウ」が向いていますが、ログイン画面→メイン画面→詳細画面のようなナビゲーション構成であれば「空白のページ」を選ぶのが自然です。
まとめ
WinUI 3では、目的に応じたテンプレートの選択がとても重要です。「空白のウィンドウ」は独立したウィンドウ、「空白のページ」はナビゲーション可能な画面構成に向いています。それぞれの特性を理解し、最適な選択をすることで、アプリの設計がスムーズに進むでしょう。
WinUI 3 テンプレート | フォームで近いもの | 用途 |
---|---|---|
空白のページ(WinUI 3) | UserControl or Panel | 画面単位で切り替えるページ |
空白のウィンドウ(WinUI 3) | Form | 独立したウィンドウ |
ユーザー コントロール(WinUI 3) | UserControl | 再利用可能な UI パーツ |
WinUI 3 / XAML の Grid.Width 設定方法
WinUI 3でMenuFlyoutをShowAtで表示する方法【コード付き解説】
MenuFlyout は WinUI 3 で便利なポップアップメニュー
WinUI 3の開発で混乱しがちな「空白のウィンドウ」と「空白のページ」の違い
PowerShellでMSIXアプリ(Storeアプリ)を起動する方法|AppUserModelIdとURIスキーム活用術