温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
  • 忘记密码?
登录注册×
获取短信验证码
其他方式登录
点击 登录注册 即表示同意 《亿速云用户服务条款》
  • 服务器
  • 数据库
  • 开发技术
  • 网络安全
  • 互联网科技
登 录 注册有礼
最新更新 网站标签 地图导航
产品
  • 首页 > 
  • 教程 > 
  • 开发技术 > 
  • WPF框架Prism中区域Region怎么用

WPF框架Prism中区域Region怎么用

发布时间:2022-02-10 14:30:55 来源:亿速云 阅读:403 作者:小新 栏目: 开发技术

这篇文章主要介绍WPF框架Prism中区域Region怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

什么是区域(Region)?

在理解这个之前, 首先需要了解一下, 在最常见的开发模式当中, 我们去设计某个页面的时候, 实际上界面元素在设计的时候已经被固定。

举个简单的例子,当我们去设计如下页面, 它包含Header、Menu、Content内容。

因此我们可以为这个页面设计一些元素, 例如:

1.Menu 可以放置ListBox

2.Content 可以放置一个ContentControl

3.Header 可以放置一些ToolBar

WPF框架Prism中区域Region怎么用

注:为了演示需要, 对应区域的控件均采用TextBlock演示, 实际开发中, 往往我们会采用的各类控件。

<Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="auto" />
            <RowDefinition />
        </Grid.RowDefinitions>

        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="auto" />
            <ColumnDefinition />
        </Grid.ColumnDefinitions>

        <Border Grid.ColumnSpan="2" Background="#0063B1">
            <TextBlock  Padding="10"  FontSize="30" Text="Header" />
        </Border>

        <Border Grid.Row="1" Background="#F08B6A">
            <TextBlock Padding="10" FontSize="30" Text="Menu" />
        </Border>

        <Border  Grid.Row="1" Grid.Column="1" Background="#948CC0">
            <TextBlock Padding="10" FontSize="30" Text="Content" />
        </Border>
    </Grid>

那么, 回到Region主题, 在Prism当中, 一个页面我们可以不再为其固定显示的内容, 而这种概念变成了区域(Region)划分的概念。

将页面显示的区域划分称N个Region, 此时, 每个Region将变成了动态分配区域。它将负责承担我们的UI组件或者控件。

定义Region

可以使用XAML或代码创建定义Region

  • RegionManager.RegionName(XAML)

  • RegionManager.SetRegionName(Code)

WPF框架Prism中区域Region怎么用

RegionManager功能

  • 维护区域集合

  • 提供对区域的访问

  • 合成视图

  • 区域导航

  • 定义区域

定义Region步骤

WPF框架Prism中区域Region怎么用

WPF框架Prism中区域Region怎么用

WPF框架Prism中区域Region怎么用

Region 示例

当我们为界面的元素指定了区域名称(XAML或者代码的方式), 下一步则是通过IRegionManager接口实例设置对应的区域显示内容。

在该示例当中, 我们创建了3个模块, 然后注册在当前的页面当中, 分别为Header、Menu、Content。如下所示:

WPF框架Prism中区域Region怎么用

WPF框架Prism中区域Region怎么用

运行之后, 界面将显示具有3个模块组成的页面, 如下所示:

WPF框架Prism中区域Region怎么用

注意事项

细心的网友可能已经看到了, 上面的代码中, 为3个ContentControl注册了对应的区域, 然后显示3个自定义的控件。

那么, 是不是同样可以在其它控件元素上注册Region?

是的, 在Prism中, 控件都支持注册Region, 只是有些控件需要自己实现一个RegionAdapters(区域适配器)

什么是RegionAdapters?

假设在应用程序的某个区域, 需要显示我们定义的视图,这个时候实际上利用了RegionAdapter。

该类负责将传入我们定义的视图到指定的Region当中。

WPF框架Prism中区域Region怎么用

Prism提供了许多内置得RegionAdapter

ContentControlRegionAdapter

ItemsControlRegionAdapter

SelectorRegionAdapter

  • - ComboBox

  • - ListBox

  • - Ribbon

  • - TabControl

注:除此之外, 如果想要实现控件作用域Region, 则必须创建自己的自定义Region, 因为一旦你不这么做, 则会引发异常。

创建Custom RegionAdapter

首先, 我们在这里创建一个类, 然后继承于RegionAdapterBase, 下面我们创建了一个基于StackPanel的自定义适配器。

WPF框架Prism中区域Region怎么用

下面, 我们需要重写其中的CreateRegion方法。

CreateRegion方法返回一个IRegion接口, 这里我们可以创建基于一下三种类型的区域类型。

  • SingleActiveRegion

  • AllActiveRegion

  • Region

WPF框架Prism中区域Region怎么用

然后,还需要重写其中的Adapt方法。

WPF框架Prism中区域Region怎么用

最后一步, 我们需要在PrismApplication当中, 注册我们创建好的自定义适配器,如下所示。

WPF框架Prism中区域Region怎么用

以上是“WPF框架Prism中区域Region怎么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节
推荐阅读:
  1. HBASE REGION SPLIT策略
  2. WPF中SqlHelper

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

wpf prism region
  • 上一篇新闻:
    Python怎么根据字幕文件自动给视频添加字幕效果
  • 下一篇新闻:
    python中队列基本操作和多线程队列的示例分析

猜你喜欢

  • 云享主机如何挂载硬盘
  • document.cookie获取不到怎么解决
  • 数据库三范式是指什么
  • sql select语句的用法是什么
  • java抽象工厂模式有哪些优缺点
  • c++学生成绩管理系统怎么实现
  • python爱心代码怎么写
  • linux设置环境变量的方式有哪些
  • 怎么使用springbatch处理千万级数据
  • 云主机怎么搭建集群
最新资讯
  • DB2在Linux中的自动化运维
  • iterate在数据清洗任务中的实践
  • iterate在分布式数据库中的应用
  • DB2与Linux操作系统的监控整合
  • DB2与Linux系统日志的整合与分析
  • Linux环境下DB2数据库的备份恢复性能优化
  • Linux环境下DB2数据库的备份验证策略
  • Linux下DB2配置技巧揭秘
  • Linux环境中DB2数据库的备份加密实践
  • MyBatis iterate与动态表结构的适应性
相关推荐
  • WPF图形解锁控件ScreenUnLock怎么用
  • 怎么用WPF实现屏幕文字提示
  • WPF中WindowsFormsHost上浮动控件怎么用
  • Skyline三维wpf开发框架有什么用
  • wpf中怎么实现PixelLab.Wpf切换效果
  • 如何给SAP Cloud Connector Region列表中添加新的Region
  • PHPStorm中region如何使用
  • WPF框架Prism中导航Navigation怎么使用
  • 怎么为WPF框架Prism注册Nlog日志服务
  • WPF中的导航框架实例分析

相关标签

spring spring注解 primary sprintf prim spring5 prior springfox springboot.plus print_r springdataredis spring-retry springmvc注解 springcache springbean primeng springmvc4 Spring JPA SpringBoot+MyBatis-Plus apriori
AI

玻璃钢生产厂家红色玻璃钢卡通雕塑现货河南玻璃钢花盆市场滁州个性化玻璃钢雕塑市场玻璃钢动物雕塑型号郑州玻璃钢雕塑制作cj青海玻璃钢仿真水果雕塑商场美陈考察报告温州玻璃钢雕塑摆件有哪些北京玻璃钢雕塑制作厂家北京超市商场美陈销售企业蚌埠景观玻璃钢雕塑优势安徽多彩玻璃钢雕塑销售厂家中山生产玻璃钢雕塑高架玻璃钢花盆供销邳州商场美陈烟台南沙玻璃钢人物雕塑深圳节庆商场美陈批发价泰州秋季商场美陈北海玻璃钢雕塑用途中国玻璃钢雕塑集中地玻璃钢人物雕塑定制价格常州蛋形玻璃钢花盆甘南广场玻璃钢雕塑定制玻璃钢雕塑加重的办法达州玻璃钢雕塑摆件施工方法烟台玻璃钢雕塑浮雕厂吉安户外玻璃钢雕塑多少钱金华玻璃钢雕塑凳子玻璃钢雕塑简单吗湖北护栏玻璃钢花盆香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化