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)文章
System.Diagnostics.Metrics .NET 6 全新指標(biāo)API講解
本文詳細(xì)講解了.NET 6全新指標(biāo)System.Diagnostics.Metrics,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-11-11
ASP.NET2.0+SQL Server2005構(gòu)建多層應(yīng)用
ASP.NET2.0+SQL Server2005構(gòu)建多層應(yīng)用...2006-12-12
.Net結(jié)構(gòu)型設(shè)計模式之橋接模式(Bridge)
這篇文章介紹了.Net結(jié)構(gòu)型設(shè)計模式之橋接模式(Bridge),文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05
.Net中Task Parallel Library的基本用法
這篇文章介紹了.Net中Task Parallel Library的基本用法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-10-10

