WPF框架Prism中View Injection用法介紹
View
View通常指的是, 我們定義的頁面, 而在模塊化的系統(tǒng)當(dāng)中, 我們往往稱之為用戶控件(UserControl)。
對于模塊化系統(tǒng)而言, 每個模塊當(dāng)中都有N個用戶控件組成, 然后模塊向區(qū)域當(dāng)中注冊視圖。
View Injection
在介紹Region章節(jié)當(dāng)中所講到, RegionManager
的功能:
- 維護(hù)區(qū)域集合
- 提供對區(qū)域的訪問
- 合成視圖
- 區(qū)域?qū)Ш?/li>
- 定義區(qū)域
這意味著, 我們可以在模塊當(dāng)中為區(qū)域指定視圖, 這個時候,我們就可以通過依賴注入的方式,使用IRegionManager接口來向指定區(qū)域注冊視圖:
public class ModuleAModule : IModule { private readonly IRegionManager _regionManager; public ModuleAModule(IRegionManager regionManager) { _regionManager = regionManager; } public void OnInitialized(IContainerProvider containerProvider) { _regionManager.RegisterViewWithRegion("ContentRegion", typeof(ViewA)); } public void RegisterTypes(IContainerRegistry containerRegistry) { } }
當(dāng)啟動頁當(dāng)中定義了ContentRegion區(qū)域的時候, 將呈現(xiàn)ViewA。
區(qū)域訪問
可以對已定義的區(qū)域進(jìn)行 Add / Remove/ Activate/ Deactivate 等操作。如下所示, 關(guān)于IRegion接口:
代碼定義如下所示:
Iregion region = _regionManager.Regions[“RegionName“]; region.Add(viewInstance); region.Remove(viewInstance); region.Activate(viewInstance); region.Deactivate(viewInstance);
到此這篇關(guān)于WPF框架Prism中View Injection用法介紹的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
asp.net實(shí)例代碼protected override void Render(HtmlTextWriter wri
把最終要輸出的html壓縮后再輸出和最終輸出前先存為html文件,如果發(fā)布最新信息了,可以打開一次default.aspx,然后他又會生成一次html2008-08-08.Net行為型設(shè)計模式之狀態(tài)模式(State)
這篇文章介紹了.Net行為型設(shè)計模式之狀態(tài)模式(State),文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05答你所問 .NET小常識 方便學(xué)習(xí)asp.net的朋友
這篇文章主要介紹了.NET小常識,對于想學(xué)習(xí).net的朋友有個參考,一些問答與基礎(chǔ)介紹,對于剛開始接觸.net的朋友很有幫助,下面大家一起了解下吧2012-05-05Linux?CentOS下docker部署Asp.Net?Core(.Net6)
這篇文章介紹了Linux?CentOS下docker部署Asp.Net?Core(.Net6)的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-12-12ASP.Net?Core?MVC基礎(chǔ)系列之獲取配置信息
這篇文章介紹了ASP.Net?Core?MVC獲取配置信息的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-02-02