之前上課的時候,有學員提問,若想要修改 View 的名稱,是不是只要修改 ViewName.xaml 這個檔案名稱就好了;不過,答案可不是如此。
在這個練習中,我們使用 Prism Template Pack 專案樣板,建立一個 Xamarin.Forms 的專案。在這個專案內,預設會幫我們產生一個 MainPage.xaml / MainPageViewModel 兩個檔案,分別是 View / ViewModel;若我們想要把這個頁面,修改成為 HomePage 的話,有哪些地方需要注意的,以及該如何做呢?
將 View 的名稱改名
首先,可以在 Visual Studio 的 核心PCL 專案內的
Views
資料夾內,找到 MainPage.xaml
檔案,滑鼠右擊這個項目,選擇 重新命名
,接著輸入 HomePage
。
接著,打開這個
HomePage.xaml
檔案,找到 ContentPage 這個根節點。<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:prism="clr-namespace:Prism.Mvvm;assembly=Prism.Forms"
prism:ViewModelLocator.AutowireViewModel="True"
x:Class="PrismUnityApp2.Views.MainPage"
Title="MainPage">
將
x:Class="PrismUnityApp2.Views.MainPage"
修改成為 x:Class="PrismUnityApp2.Views.HomePage"
,並且按下 Ctrl+S 將此次修改的內容存檔,而 ContentPage 的定義將會成為<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:prism="clr-namespace:Prism.Mvvm;assembly=Prism.Forms"
prism:ViewModelLocator.AutowireViewModel="True"
x:Class="PrismUnityApp2.Views.HomePage"
Title="MainPage">
在 核心PCL專案內的
Views
資料夾內,打開 HomePage.xaml.cs
檔案。
將 MainPage 類別,修正成為
HomePage
,如下所示:
按下 Ctrl + S 將此次修改的內容存檔。
除了類別名稱之外,建構式名稱也需要一併修正。
public partial class HomePage : ContentPage
{
public HomePage()
{
InitializeComponent();
}
}
修正 App.xaml.cs 的導航頁面與注入定義
在 核心PCL 專案內,找到並打開
App.xaml.cs
檔案,在 OnInitialized
方法內,呼叫 NavigationService.NavigateAsync
內的字串引數,把 MainPage
內容改成 HomePage
。
在
RegisterTypes
方法內,將 Container.RegisterTypeForNavigation<MainPage>();
修改成為 Container.RegisterTypeForNavigation<HomePage>();
最後按下 Ctrl + S 存檔
public partial class App : PrismApplication
{
public App(IPlatformInitializer initializer = null) : base(initializer) { }
protected override void OnInitialized()
{
InitializeComponent();
NavigationService.NavigateAsync("NavigationPage/HomePage?title=Hello%20from%20Xamarin.Forms");
}
protected override void RegisterTypes()
{
Container.RegisterTypeForNavigation<NavigationPage>();
Container.RegisterTypeForNavigation<HomePage>();
}
}
將 ViewModel 的名稱改名
首先,可以在 Visual Studio 的 核心PCL 專案內的
ViewModels
資料夾內,找到 MainPageViewModel
檔案,滑鼠右擊這個項目,選擇 重新命名
,接著輸入 HomePageViewModel
。
此時,Visual Studio 會提示您:
您在正重新命名檔案,您是否也要更新命名此專案中對於程式碼項目 'MainPageViewModel' 的所有參考?
請在這個對話窗中,點選
是(Y)
建置與執行
最後,請將 Android 專案設定為預設起始專案,並且執行這個專案。
若您的操作步驟都是正確的話,這個 App 是可以正常執行的。
沒有留言:
張貼留言