Hello, 各位 iT 邦幫忙 的粉絲們大家好~~~
在本系列文會利用目前 Visual Studio 內建的專案樣本建立一個初始的 .NET MAUI 專案,並且透過此 .NET MAUI 專案來把 TopStore App 的開發從 Xamairn.Forms 轉換到 .NET MAUI 上進行。
本篇是 Re: 從零改成用 .NET MAUI 技術來繼續過去用 Xamarin 開發的一個 App : TopStore 系列 系列文的 EP03。
在上一回 EP02 裡增加了 .NET MAUI 的 TopStore App 專案當中所需用到的 Nuget 套件。
由於在先前的 Xamairn.Forms 版本中的 TopStore App 都有按照 MVVM 框架設置專案內的資料夾放置程式碼檔。
所以接著只要透過 Windows 的檔案總管,來把 "必要的 *.xaml 與 *.cs 檔案" (皆在按照 MVVM 架構規劃的資料夾中),從 Xamarin.Forms 專案複製到 .NET MAUI 專案當中。
在 Xamarin.Forms 專案當中選取所需的必要資料夾:
上圖左邊為 Xamarin.Forms 專案資料夾;右邊為 .NET MAUI 專案資料夾
在 .NET MAUI 專案的資料夾當中貼上:
上圖左邊為 Xamarin.Forms 專案資料夾;右邊為 .NET MAUI 專案資料夾
接著回到 Visual Studio 2022 的 .NET MAUI 專案當中,在 Visual Studio 當中的方案總管當中會看到這些資料夾的出現。
因為預設的專案範本所用到的 AppShell 不符合需要,因此在 Visual Studio 當中的方案總管中找到 AppShell,右鍵選單當中點選 "刪除":
刪除後的專案呈現的狀態:
接著在 .NET MAUI 專案當中透過右鍵選單,選擇加入->新增檔案,來增加空白 AppShell 檔案:
在 C# 項目的 .NET MAUI 分類底下可以找到 AppShell 的空白範本,設定好檔案名稱後點選 "新增":
加入完成後專案呈現的狀態:
複製 Xamarin.Forms 專案當中的 AppShell.xaml 檔案的 Shell 標記中的下圖紅色框的 XAML 標記碼。
到 .NET MAUI 專案當中的 AppShell.xaml 檔案當中。
對應先前圖片標記 1 的部分:
對應先前圖片標記 2 的部分:
複製 Xamarin.Forms 專案當中的 AppShell.xaml.cs 檔案,撰寫在建構方法當中的 C# 程式(如下圖紅框所示):
再到 .NET MAUI 專案當中的 AppShell.xaml.cs 當中,找到其 AppShell 類別建構式後,貼上剛剛從 Xamarin.Forms 專案中複製的 C# 程式碼(如下圖紅框所示):
本 EP 介紹所完成的範例程式碼可在此下載。
PS 預設 Visual Studio 2022 的 C# 項目的檔案範本中不會有 Shell 的空白範本可用,請參考此 GitHub 存放庫的 README 介紹:
https://github.com/JamestsaiTW/dotNET-MAUI-or-Xamarin.Forms-Empty-Shell-ItemTemplate