在 Xamarin.Forms 中,我們通常都會透過導航頁面 NavigationPage 與導航抽屜頁面 MasterDetailPage 來提供這樣的使用者體驗;而在使用 Prism Framwork 開發框架下,Prism 提供了導航服務物件,您可以在頁面的檢視模型 ViewModel 下,使用相依性注入 Dependency Injection 機制,使用建構式注入方法來取得這個導航服務物件;一旦,您取得了這個物件,便可以依據使用者的需求,進行 Xamarin.Forms 應用程式 App 的頁面切換行為。
當我們使用 Prism 來開發 Xamarin.Forms 專案的時候,可以選擇不同 DI 容器 Container 的開發框架,不論您選擇的是哪一個,這些 DI 容器都可以支援 1.建構函式注入 Constructor Injection 2. 屬性注入 Property Injection 3. 方法注入 Method Injection ,這三種相依性注入途徑。在這篇文章中,我們將來練習與研究,我們如何使用 Visual Studio 2017 擴充功能的 Prism Template Pack 這個套件所提供的專案樣板,建立起一個 Xamarin.Forms 的專案,接著,我們在這個專案內的 ViewModel 來練習這三種相依性注入的用法,不過,在這裡,我們選擇的 IoC 套件是 Unity。
Xamarin 實驗室 部落格 是作者本身的部落格,這個部落格將會專注於 Xamarin 之跨平台 (Android / iOS / UWP) 方面的各類開技術探討、研究與分享的文章,最重要的是,它是全繁體中文。