WPF Prism框架合集(2.創建Prism應用程序)


導航

開發者博客
文檔學習
開發者平台

視頻教程地址

點擊觀看視頻教程

創建Prism應用程序

1.第一步
首先, 創建一個基於.NetFramework 或.NetCore的WPF應用程序。如下所示:

2.第二步
為當前應用程序添加NuGet源, 打開NuGet管理器,安裝Prism.DryIoc, 如下所示:

說明:
本文將以DryIoc容器為主講解本系列的所有內容。
實際上, 在Prism7.2版本中, 已經引入了一些圍繞IOC抽象的API更改。這最終將使得在選擇容器之間切換更加容易,因為 API 在如何注冊服務和視圖方面完全相同。
您仍然可以訪問容器,在 Autofac 容器構建器的情況下,通過擴展方法,以便您可以完成更復雜的注冊。

// Prism 6.X way of Registering Services
protected override void RegisterTypes()
{
    // Container Specific Registrations

    // Autofac
    Builder.RegisterType<DebugLogger>().As<ILoggerFacade>().SingleInstance();

    // DryIoc
    Container.Register<ILoggerFacade, DebugLogger>(reuse: Reuse.Singleton,
                                                   ifAlreadyRegistered: IfAlreadyRegistered.Replace);

    // Ninject
    Container.Bind<ILoggerFacade>().To<DebugLogger>().InSingletonScope();

    // Unity
    Container.RegisterType<ILoggerFacade, MCAnalyticsLogger>(new ContainerControlledLifetimeManager());
}

// Unified API in Prism 7
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
    containerRegistry.RegisterSingleton<ILoggerFacade, DebugLogger>();
}

在Prism提供的VusualStudio Template Pack當中, 默認支持選擇兩種類型的容器項目:
1.DryIoc: GitHub地址
2.Unity: GitHub地址

3.第三步
修改App.xaml文件,添加prism命名空間, 繼承由Application->PrismApplication, 如下所示:

打開App.xaml.cs文件, 繼承由Application->PrismApplication, 如下所示:
注: 此時,繼承於PrismApplication類, 需要實現其中的兩個抽象方法。 CreateShell 與 RegisterTypes

Prism的初始化過程

在上面過程中, 我們已經將普通的WPF應用程序修改為PrismApplication, 此時, 再來了解一下Prism的整個框架的初始化過程, 如下所示:

到目前為止, 我們並不關心內部的運行邏輯及初始化過程, 從上面的圖中, 可以大致了解, Prism在初始化過程中,
除了構建自身的容器、服務、適配器及一些區域行為后, 便開始創建應用程序的首頁(Shell)以及加載模塊, 最終呈現。

注: 關於涉及到的服務、注冊類型、適配器、區域等概念, 再后面會陸續講解。

了解了上面的初始化流程之后, 我們有了初步的概念, 再次回到第三步當中,App.xaml.cs文件。

在這里, 我們實現了其中的兩個抽象方法:
1.CreateShell
該方法返回了一個Window類型的窗口, 其實就是返回應用程序的主窗口。

2.RegisterTypes
該方法用於在Prism初始化過程中, 我們定義自身需要的一些注冊類型, 以便於在Prism中可以使用。

創建Shell示例

現在, 創建一個ShellWindow, 並且實現CreateShell將SheloWindow實例返回, 如下所示:

注:Container 是基類當中的一個容器屬性,可用於解析對象的依賴項注入容器

啟動之后, 我們可以ShellWindow創建定義的內容,並且呈現。

創建Prism的快速方法

1.首先, 打開VisualStudio的擴展, 安裝Prism Template Pack包。

  • Prism Template Pack提供了什么?
    1.Blank Project (空白示例項目)
    2.Module Project (模塊示例項目)
    3.代碼片段(用戶快速創建屬性,命令)
    3.1.propp – property (depends on BindableBase)
    3.2.cmd - DelegateCommand
    3.3.cmdg – DelegateCommand

2.安裝完成之后, 再次打開VisualStudio, 將會發生,Prism Template Pack提供了多種項目模板, 用於快速構建基於Prism的應用程序, 如下所示:

注:同時,Prism提供了基於Xamarin的項目模板, 因為Prism是一個基於多個平台的框架, 詳細見: Prism框架介紹

結語

本章節, 主要介紹了如何創建一個基於Prism的WPF項目, 以及其它方式快速創建基於Prism的項目模板。

預告

下一章將主要介紹在Prism當中, 如何為一個Shell, 定義其顯示區域(Region)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM