Prism框架中View与Region关联的几种方式
Prism.Regions命名空间下有2个重要接口:IRegionManager、IRegion
IRegionManager接口中的方法与属性:AddToRegion()、RegisterViewWithRegion(),Regions属性
IRegion接口中的方法:Add与Remove(加载、剔除)、Activate与Deactivate(出现、消失)。
使用Activate与Deactivate前,Region中一定先有View对象(AddToRegion和Add可以)。
在Prism中有两种方式来定义视图与Region之间的映射关系——View Discovery(视图发现)和View Injection(视图注入)。
RegisterViewWithRegion()是View Discovery方式,View并没有真正载入Region中。此时Activate与Deactivate无效
AddToRegion和Add是View Injection方式,Activate与Deactivate有效。
方式1、RegisterViewWithRegion加载View
IRegionManager _regionManager; //定义变量
_regionManager.RegisterViewWithRegion("ContentRegion", typeof(PrismUserControl1));
或用AddToRegion加载View
IRegionManager _regionManager; //定义变量
PrismUserControl1 viewA = new PrismUserControl1(); //new出一个类的对象
_regionManager.AddToRegion("ContentRegion", viewA);
方式2、用Add加载View
IRegionManager _regionManager; //定义变量
IRegion _region; //定义变量
_region = _regionManager.Regions["ContentRegion"]; //用Regions属性指定区域控件
PrismUserControl1 viewA=new PrismUserControl1();
_region.Add(viewA);
【实战】
Prism框架中View与Region关联的几种方式的更多相关文章
- Mybatis中使用association进行关联的几种方式
这里以一对一单向关联为例.对使用或不使用association的配置进行举例. 实体类: @Data @ToString @NoArgsConstructor public class IdCard ...
- Spring框架中获取连接池常用的四种方式
1:DBCP数据源 DBCP类包位于 /lib/jakarta-commons/commons-dbcp.jar,DBCP是一个依赖Jakarta commons-pool对象池机制的数据库连接池,所 ...
- Dojo初探之2:设置dojoConfig详解,dojoConfig参数详解+Dojo中预置自定义AMD模块的四种方式(基于dojo1.11.2)
Dojo中想要加载自定义的AMD模块,需要先设置好这个模块对应的路径,模块的路径就是这个模块的唯一标识符. 一.dojoConfig参数设置详解 var dojoConfig = { baseUrl: ...
- 转 Velocity中加载vm文件的三种方式
Velocity中加载vm文件的三种方式 velocitypropertiespath Velocity中加载vm文件的三种方式: 方式一:加载classpath目录下的vm文件 Prope ...
- EF5+MVC4系列(7) 后台SelectListItem传值给前台显示Select下拉框;后台Action接收浏览器传值的4种方式; 后台Action向前台View视图传递数据的四种方式(ViewDate,TempDate,ViewBag,Model (实际是ViewDate.Model传值))
一:后台使用SelectListItem 传值给前台显示Select下拉框 我们先来看数据库的订单表,里面有3条订单,他们的用户id对应了 UserInfo用户表的数据,现在我们要做的是添加一个Ord ...
- C# 中一些类关系的判定方法 C#中关于增强类功能的几种方式 Asp.Net Core 轻松学-多线程之取消令牌
1. IsAssignableFrom实例方法 判断一个类或者接口是否继承自另一个指定的类或者接口. public interface IAnimal { } public interface ID ...
- 聊聊业务系统中投递消息到mq的几种方式
背景 电商中有这样的一个场景: 下单成功之后送积分的操作,我们使用mq来实现 下单成功之后,投递一条消息到mq,积分系统消费消息,给用户增加积分 我们主要讨论一下,下单及投递消息到mq的操作,如何实现 ...
- Action中取得request,session的四种方式
Action中取得request,session的四种方式 在Struts2中,从Action中取得request,session的对象进行应用是开发中的必需步骤,那么如何从Action中取得这些对象 ...
- WPF中使用文件浏览对话框的几种方式
原文:WPF中使用文件浏览对话框的几种方式 WPF本身并没有为我们提供文件浏览的控件, 也不能直接使用Forms中的控件,而文件浏览对话框又是我们最常用的控件之一. 下面是我实现的方式 方式1: 使用 ...
随机推荐
- linux下对服务器性能监控shell脚本
#!/bin/bash #提取本服务器的IP地址信息 ENO1=`ifconfig | sed -n '1,1p' | awk -F ' ' '{print $1}'` IP=` -d -d &quo ...
- 切割nginx access日志
#!/bin/bash nginx_root=/www/server/nginx log_path=/www/wwwlogs yesterday=`date -d "-1 day" ...
- python-day6(正式学习)
流程控制之while循环 语法 循环就是一个重复的过程,人需要重复做某项工作,那么计算机也一样.当ATM验证失败,那么计算机就会让我们再输入一次密码.这时候我们说的循环就是while循环,while循 ...
- docker入门到放弃
1.容器简介 Docker是一个开源的应用容器引擎,使用Go语言开发,基于Linux内核的cgroup,namespace,Union FS等技术,对应用进程进行封装隔离,并且独立于宿主机与其他进程, ...
- django 聚合统计查询
from django.shortcuts import renderfrom django.http import HttpResponsefrom django.db.models import ...
- 深入15个HTML元素方法,你见过吗?
虽然现代化的 web 开发更多地依赖各种 MVC 框架,但开发者仍需要熟练掌握 HTML 与 DOM 方面的基础知识.不过,即使是有着多年经验的前端开发者,也会遇到一些不明所以的情况.本文首先将为初学 ...
- 使用kafka-eagle监控Kafka
# 监控kafka集群,开启监控趋势图使用 # 有一个问题,需要在kafka-server-start.sh文件中配置端口,有如下三种办法 # 第一种:复制并修改kafka目录,比如kafka-1,k ...
- maven简识
https://www.cnblogs.com/whgk/p/7112560.html 一:命令行管理maven项目: 创建maven[java]项目: D:\maven\demo>mvn ar ...
- O030、Launch 和 shut off 操作详解
参考https://www.cnblogs.com/CloudMan6/p/5460464.html 本节详细分析 instance launch 和 shut off 操作 ,以及如何在日志中快 ...
- vue中使用qrcode,遇到两次渲染的问题
1.安装 qrcodejs2: npm install qrcodejs2 --save 2.页面中引入: import QRCode from "qrcodejs2"; co ...