03、CustomRegions
1、将App.xaml中的StartupUri="MainWindow.xaml"删除。
2、使用NuGet安装Prism.Wpf、Prism.Core、Prism.Unity。
3、添加类“Bootstrapper”,编辑如下:
1 using Microsoft.Practices.Unity; 2 using Prism.Regions; 3 using Prism.Unity; 4 using System.Windows; 5 using System.Windows.Controls; 6 using CustomRegions.Prism; 7 using CustomRegions.Views; 8 9 namespace CustomRegions 10 { 11 public class Bootstrapper:UnityBootstrapper 12 { 13 protected override DependencyObject CreateShell() 14 { 15 return Container.Resolve<MainWindow>(); 16 } 17 18 protected override void InitializeShell() 19 { 20 Application.Current.MainWindow.Show(); 21 } 22 23 protected override RegionAdapterMappings ConfigureRegionAdapterMappings() 24 { 25 RegionAdapterMappings mappings = base.ConfigureRegionAdapterMappings(); 26 mappings.RegisterMapping(typeof(StackPanel), Container.Resolve<StackPanelRegionAdapter>()); 27 return mappings; 28 } 29 } 30 }
4、创建文件夹Views,将MainWindow.xaml移动到此文件夹中。添加Prism文件夹,添加“StackPanelRegionAdapter.cs”类。
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.Windows; 7 using System.Windows.Controls; 8 using Prism.Regions; 9 10 namespace CustomRegions.Prism 11 { 12 public class StackPanelRegionAdapter:RegionAdapterBase<StackPanel> 13 { 14 public StackPanelRegionAdapter(IRegionBehaviorFactory regionBehaviorFactory) 15 : base(regionBehaviorFactory) 16 { 17 18 } 19 20 protected override void Adapt(IRegion region, StackPanel regionTarget) 21 { 22 region.Views.CollectionChanged += (s, e) => 23 { 24 if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add) 25 { 26 foreach (FrameworkElement element in e.NewItems) 27 { 28 regionTarget.Children.Add(element); 29 } 30 } 31 32 //handle remove 33 }; 34 } 35 36 protected override IRegion CreateRegion() 37 { 38 return new AllActiveRegion(); 39 } 40 } 41 }
1 <Window x:Class="CustomRegions.Views.MainWindow" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 5 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 6 xmlns:local="clr-namespace:CustomRegions.Views" 7 xmlns:prism="http://prismlibrary.com/" 8 mc:Ignorable="d" 9 Title="Shell" Height="450" Width="800"> 10 <Grid> 11 <ContentControl prism:RegionManager.RegionName="ContentRegion"></ContentControl> 12 </Grid> 13 </Window>
转载于:https://www.cnblogs.com/bjxingch/articles/9546855.html
03、CustomRegions相关推荐
- 【Kubernetes 企业项目实战】03、基于 Alertmanager 发送报警到多个接收方(下)
目录 一.promethues 采集 tomcat 监控数据 1.1 制作 tomcat 镜像 1.2 基于上面的镜像创建一个 tomcat 实例 1.3 采集数据 二.promethues 采集 r ...
- 每日一学 | 2021-05-19 | Power BI 学习笔记03、04
学习网址:孙兴华讲PowerBI火力全开版[本季完]PowerBI教程 Power BI教程 DAX语言 Access教程 Access数据库 Access_哔哩哔哩 (゜-゜)つロ 干杯~-bili ...
- Python可视化数据分析03、jieba【分词】
Python可视化数据分析03.jieba[分词]
- Spark高效数据分析03、Spark SQL
Spark高效数据分析03.Spark SQL
- 尝试manjar20.03、fedora32、ubuntu20.04作为主力操作系统
编写日期:2020年7月23日19点09分 本篇为连载文章 修改日期:2020年8月3日星期一 9:44 首先manjaro是从搜索引擎上搜到友好的linux桌面发行版搜到的,之前就有想要放弃wind ...
- SWMM WARNING警告02、03、04的检查修改
新手(比如我)自己运行swmm,尤其是运行自己从零建立起来的SWMM模型时,经常会发现运行报告中报告了很多错误,就是WARNING/警告. 这些WARNING如果不予以修复,就会导致连续性误差飙升,一 ...
- 用C语言开发NES游戏(CC65)03、VRAM缓冲区
粘贴到CSDN格式没调,想看格式好的点下面 https://happysoul.github.io/nes/nesdoug/ 我写了一些支持函数来填充VRAM缓冲区. 我使用了一些后台场景的代码,在c ...
- 极客新闻——03、陈庆敏:项目管理的三个关键
本文笔记全部来自<极客新闻>--新鲜的技术资讯.权威的趋势剖析.别样的技术洞察 项目管理时一门抽象的学问,实践证明,能把项目带向成功的并非固定招式,也不是放之四海而皆准的标准,在项目管理这 ...
- 03、NavMesh--导航网格寻路
一.概述: NavMesh是3D游戏世界中用于实现动态物体自动寻路的一种技术,他将游戏场景中复杂的结构组织关系简化为带有一定信息的网格, 进而在这些网格的基础上通过一些列的计算来实现自动寻路. 二.简 ...
最新文章
- 关于C++类实现哈夫曼树
- R语言使用caret包构建随机森林模型(random forest)构建回归模型、通过method参数指定算法名称、通过ntree参数指定随机森林中树的个数
- 【gradle】问题及解决
- xml xslt中的空格输出处理
- 【小白学习keras教程】二、基于CIFAR-10数据集训练简单的MLP分类模型
- JavaScript从入门到放弃 -(三)ES5新增方法及商品查询案例
- 【浏览器】浏览器模式与文档模式区别
- centos打开 mysql数据库文件_centos安装mysql数据库和配置mysql数据库
- jquery选择器从认识到使用初级篇
- php window open,【php】window.open()弹出窗口被拦截.
- Kinect 数据录制与回放
- 使用vue-i18n实现多语言
- 论文浏览(20) Video Classification with Channel-Separated Convolutional Networks
- Cadence软件盗版
- ariang/Aria2 RPC 服务器错误/Aria2状态/未连接
- [UER#6 C]逃跑
- SAP JCo业务情景:在线发票
- “黄金薄膜” CPI膜 —— 折叠屏手机核心材料
- 拓嘉恒业:拼多多开店条件分享
- 通过插入脚注的方式引用参考文献。
热门文章
- android手机定位
- intitle:客服机器人代码_游戏客服能影响企业发展?千万别大意
- resnet网络结构_深度学习之16——残差网络(ResNet)
- html div画三角,css画三角形
- 在python中定义类时、运算符重载_python自定义类运算符重载
- 笑脸符号怎么存入mysql_让MySql支持Emoji表情存储
- 仓库移动_移动式仓库、检修作业平台、储油柜胶囊破裂检测装置……这场科技秀超燃!...
- adas记录仪app_4K旗舰丨盯盯拍MINI5智能行车记录仪荣耀新生!
- 内地计算机科技学校,23所内地顶尖高校盘点!计算机学科哪家强?
- python归并算法