【初心者向け】WinUI 3「空白のウィンドウ」と「空白のページ」の違いと使い分けを徹底解説!

2025-04-25 WinUI 3 サムネイル画像

Windowsアプリ開発の中でも、近年注目を集めているのが「WinUI 3」です。特にデスクトップ向けのネイティブアプリを開発する際に、XAMLとC#を用いた柔軟なUI設計が可能となります。しかし、Visual Studioで新規プロジェクトを作成するときに出てくる「空白のウィンドウ(デスクトップの WinUI 3)」と「空白のページ(WinUI 3)」の違いについて、戸惑う初心者も多いでしょう。

「空白のウィンドウ」とは?

「空白のウィンドウ」は Window クラスを基にしており、完全に独立したウィンドウを構成するテンプレートです。従来のWindows Formsでいうところの「Form」に近く、ボタン一つでサブウィンドウを開くようなユースケースにも適しています。

「空白のページ」とは?

一方、「空白のページ」は Page クラスをベースとしており、ナビゲーションフレーム(Frame)の中で切り替えて表示される UI の1画面を構成します。つまり、WebのSPAのように1つのウィンドウの中でページ遷移を行うような構成にしたい場合に使用されます。

使い分けのポイント

例えば、設定画面やポップアップウィンドウは「空白のウィンドウ」が向いていますが、ログイン画面→メイン画面→詳細画面のようなナビゲーション構成であれば「空白のページ」を選ぶのが自然です。

まとめ

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で表示する方法【コード付き解説】

MenuFlyoutWinUI 3 で便利なポップアップメニュー

WinUI 3の開発で混乱しがちな「空白のウィンドウ」と「空白のページ」の違い

PowerShellでMSIXアプリ(Storeアプリ)を起動する方法|AppUserModelIdとURIスキーム活用術

Microsoft Storeアプリ更新時のロールアウト設定まとめ