VS2022メニューバー – プロジェクト(P) – 新しい項目の追加(W)…

.NET MAUI ContentPage(XAML) – ファイル名を決める( ここではNewPage1) – 追加(A)

AppShell.xamlに新しいページ(NewPage1)を追加。
■ AppShell.xaml
<?xml version="1.0" encoding="UTF-8" ?>
<Shell
x:Class="MauiApp.AppShell"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:MauiApp"
Shell.FlyoutBehavior="Disabled">
<ShellContent
Title="Home"
ContentTemplate="{DataTemplate local:MainPage}"
Route="MainPage" />
<ShellContent
Title="NewPage1"
ContentTemplate="{DataTemplate local:NewPage1}"
Route="NewPage1" />
</Shell>
追加したNewPage1を別ウィンドウで開く場合と、同じ画面内で画面遷移する例。
■ MainPage.xaml.cs
namespace MauiApp;
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
.
.
.
private void OnNewWindowClicked(object sender, EventArgs e)
{
// 別ウィンドウで開く
Window secondWindow = new Window(new NewPage1());
Application.Current.OpenWindow(secondWindow);
}
private async void OnNewPageClicked(object sender, EventArgs e)
{
// 同じウィンドウ内で画面遷移
await Shell.Current.GoToAsync("//NewPage1");
}
}
■ MainPage.xaml <?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="MauiApp.MainPage"> <ScrollView> <VerticalStackLayout Spacing="25" Padding="30,0" VerticalOptions="Center"> ・ ・ ・ <Button x:Name="NewWindowBtn" Text="New Window" SemanticProperties.Hint="Open the new window" Clicked="OnNewWindowClicked" HorizontalOptions="Center" /> <Button x:Name="NewPageBtn" Text="New Page" SemanticProperties.Hint="Move to new page" Clicked="OnNewPageClicked" HorizontalOptions="Center" /> </VerticalStackLayout> </ScrollView> </ContentPage>
New Windowで開いた場合。別のウィンドウとして開くので、初期状態のNewPage1にはタイトル部が無いようです。

同じウィンドウ内に開いた場合。タイトル部が表示されました。同じウィンドウ内に開く場合は戻るボタンが必要ですね。

開発環境:Visual Studio 2022 Community バージョン17.3
プロジェクトテンプレート:.NET MAUI アプリ
自分用覚書です。動かなかったらごめんなさい。