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