什麼是MainPage.xaml
在MainPage.xaml,可以看到如下描述語言:
<BlazorWebView x:Name="blazorWebView" HostPage="wwwroot/index.html">
<BlazorWebView.RootComponents>
<RootComponent Selector="#app" ComponentType="{x:Type local:Routes}" />
</BlazorWebView.RootComponents>
</BlazorWebView>
Blazor Page 會在這個部分渲染,而其餘部分可以使用xaml建立原生原件。
下面這個影片把專案架構,解釋得很詳細,只和 .NET 8 有些微差異但不影響:
在 23:56 之處,演示了如何在 Razor Page 中呼叫 MAUI 包裝好的原生 API。
在 42:08 之處展示了如何透過原生原件實現滑動切換分頁的效果。
xmlns:pages=”clr-namespace:MauiApp5_Reminder_Json.Components.Pages”
xmlns代表xml namespace,clr-namespace:MauiApp5_Reminder_Json.Components.Pages代表要取得Razor檔的資料夾,而xmlns:pages 是我們自訂的變數。這行宣告完之後,我們就可以透過pages.XXX來選擇特定的 Razor 頁面放入 webview 。