日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

WPF框架Prism中View?Injection用法介紹_基礎(chǔ)應(yīng)用

作者:痕跡g ? 更新時(shí)間: 2022-04-16 編程語(yǔ)言

View

View通常指的是, 我們定義的頁(yè)面, 而在模塊化的系統(tǒng)當(dā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);

原文鏈接:https://www.cnblogs.com/zh7791/p/14109762.html

欄目分類
最近更新