ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Prism中Moduel的使用

2021-06-08 21:03:18  阅读:175  来源: 互联网

标签:类库 主程序 Region override Prism protected 使用 Moduel void


1.新建Module类库,在类库Modules类的OnInitialized方法中添加类库需要绑定的主程序Region名称,如下

public void OnInitialized(IContainerProvider containerProvider)
{
var regionManager = containerProvider.Resolve<IRegionManager>();
regionManager.RegisterViewWithRegion("ContentRegion", typeof(ViewA));
regionManager.RegisterViewWithRegion("ContentRegion2", typeof(ViewA));
}

这里将类库的视图VeiwA绑定到了主程序的两个Region区域中,分别是“ContentRegion”,“ContentRegion2”。这样可以实现一个类库在主程序界面显示多个同一类的视图,例如可以将halcon单独编写成一个类库,如果项目中有多个相机的话,只需要讲类库绑定到程序的多个Region区域,每个区域相互独立,互不干涉。

2.在主程序定义XMAL中两个Region:

<Window x:Class="BlankApp1.Views.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:prism="http://prismlibrary.com/"
        prism:ViewModelLocator.AutoWireViewModel="True"
        xmlns:vm="clr-namespace:BlankApp1.ViewModels"
        Title="{Binding Title}" Height="350" Width="525">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <ContentControl prism:RegionManager.RegionName="ContentRegion" />
        <ContentControl Grid.Row="1" prism:RegionManager.RegionName="ContentRegion2"/>
    </Grid>
</Window>

3.主程序添加对类库的引用

4.在App.xaml.cs文件中添加

public partial class App
    {
        protected override Window CreateShell()
        {
            return Container.Resolve<MainWindow>();
        }

        protected override void RegisterTypes(IContainerRegistry containerRegistry)
        {

        }

        protected override void ConfigureModuleCatalog(IModuleCatalog moduleCatalog)
        {
            moduleCatalog.AddModule<Module1.Module1Module>();
        }
    }

"Module1"是类库的名字,“ModuleModule”是类库中相应类的名字。

至此,大功告成。

标签:类库,主程序,Region,override,Prism,protected,使用,Moduel,void
来源: https://www.cnblogs.com/pdcboy/p/14864423.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有