当前位置: 首页 > news >正文

网页制作素材免费网站信誉好的顺德网站建设

网页制作素材免费网站,信誉好的顺德网站建设,wordpress 内存溢出,wordpress用qq登录界面概要本文主要介绍Prism的IRegionManager, 主要分析源代码的执行流程, 来介绍内部实现的几个核心接口调用过程。通过本文, 你可以熟练的掌握Prism当中以下接口的作用以及使用方法, 如下所示:IRgionManagerINavigationAwareINavigateAsyncIRegionNavigationServiceIConfirmNaviga… 概要本文主要介绍Prism的IRegionManager, 主要分析源代码的执行流程, 来介绍内部实现的几个核心接口调用过程。通过本文, 你可以熟练的掌握Prism当中以下接口的作用以及使用方法, 如下所示:IRgionManagerINavigationAwareINavigateAsyncIRegionNavigationServiceIConfirmNavigationRequestIRegionNavigationContentLoader阅读本文章, 您需要掌握一下基本概念:了解Prism的区域导航的大概用法了解如何在导航中传递参数正文首先, 通过一段简单的示例来展示IRegionManager调用导航的业务代码。//向RegionA区域当中导航ViewA页面, 并且传递参数名Value 值为Hello 的导航参数 var param new NavigationParameters(); param.Add(Value, Hello);regionManager.Regions[RegionA].RequestNavigate(ViewA, param);对应在ViewA的DataContext中, 实现如下:public class ViewAViewModel : INavigationAware{public bool IsNavigationTarget(NavigationContext navigationContext){return true;}public void OnNavigatedFrom(NavigationContext navigationContext){ }public void OnNavigatedTo(NavigationContext navigationContext){//接收导航传递的string类型参数值Valuevar hello navigationContext.Parameters.GetValuestring(Value);}}通过上面两段代码中, 可以看到, 通过IRegionManager实现了在指定区域导航页面并且传递参数的过程。那么接下来主要来通过源代码来解析整个导航流程,这里面涉及到多个接口的调用过程也会统一的介绍。IRegionManager该接口当中公开了一个Regions属性, 其中包含所有注册的区域, 另外则包含一些方法,AddToRegion、RegisterViewWithRegion、RequestNavigate 作用同样是向区域当中指定不同的页面。通过Regions, 我们可以通过索引器访问不同的区域并且直接调用RequestNavigate方法, 因为IRegion继承于INavigateAsync, INavigateAsync有RequestNavigate方法public interface INavigateAsync { void RequestNavigate(Uri target, ActionNavigationResult navigationCallback); void RequestNavigate(Uri target, ActionNavigationResult navigationCallback, NavigationParameters navigationParameters); }public interface IRegion : INavigateAsync { }IRegionNavigationService了解了IRegionManager 是通过INavigateAsync接口调用RequestNavigate来进行导航, 那么我们需要清楚的是, INavigateAsync具体的实现是在哪里, 这里就涉及到了一个导航服务的实现接口IRegionNavigationService , 该接口继承于INavigateAsyncpublic interface IRegionNavigationService : INavigateAsync { }也就是说, 我们调用RequestNavigate, 其实是通过 IRegionNavigationService的具体实现类来完成整个导航过程, 接下来主要分析RegionNavigationService实现类。RegionNavigationService首先, 简单的描述整个导航需要执行的逻辑, 如下:1.构建导航的上下文(包含传递的参数,最终导航的页面)2.循环区域当中所有的活动视图, 并且执行继承于IConfirmNavigationRequest接口的实例注意: IConfirmNavigationRequest 主要用于在区域导航中的拦截功能。使用场景: 例如,当前页面显示A, 当你导航B的时候, A如果未保存,可以提示是否切换到B页面。3.循环区域当中所有的活动视图, 并且执行继承于 INavigationAware 接口的 OnNavigatedFrom方法。说明:调用OnNavigatedFrom方法,主要告诉活动的页面, 我现在要导航到指定页面, 这样你可以在OnNavigatedFrom当中编写你所需要的业务逻辑。4.向指定的区域当中添加对应的导航内容, 并且激活显示它。主要通过 IRegionNavigationContentLoader 接口的 LoadContent 方法来将内容添加到指定区域当中。注意: 这里会使用到INavigationAware接口当中的IsNavigationTarget方法, 如果该方法设置为true, 代表重用实例, 而不是重新初始化。5.记录导航日志 IRegionNavigationJournal说明: 通过导航日志, 我们可以实现在区域当中返回上一页以及下一页的功能。6.触发INavigationAware接口的OnNavigatedTo, 传递导航的数据上下文(包含导航服务、传递参数等)7.触发导航的回调方法navigationCallback, 如果存在的话,代码如下所示:regionManager.Regions[RegionA].RequestNavigate(ViewA,back {if ((bool)back.Result){//代表导航成功}});8.Navigating与Navigated 事件为IRegionNavigationService接口当中的成员, 它们分别在导航的不同阶段触发该类事件。Navigating: 指定区域当中添加完视图后并且激活之前调用Navigated : 导航完成之后调用该事件整个流程图,如下图所示:总结通过分析RegionNavigationService, 可以了解到, 其内部的执行逻辑涉及到多个接口, 其中包含了多个接口的使用方法, 例如:INavigationAware接口的作用, 如何接收导航传递的参数, IsNavigationTarget可以重用页面实例, OnNavigatedFrom 可以接收导航过程的上下文IConfirmNavigationRequest接口的作用, 可以用于导航的拦截请求IRegionNavigationService接口的作用, 主要用于内部的区域导航服务IRegionNavigationContentLoader接口的作用, 主要用于向指定区域添加内容IRegionNavigationJournal接口的作用, 主要用于区域导航当中记录历史, 用于前后导航的, 返回上一页下一页。
http://www.zqtcl.cn/news/410494/

相关文章:

  • 建站系统wordpress下载亚马逊雨林十大恐怖生物
  • 凡科网做网站怎么样专业团队电影
  • 有什么有趣的网站移动网站排名怎么做
  • 深圳网站建设专家wordpress 4.5下载地址
  • 网站建设公司公司我我提供一个平台wordpress如何去版权信息
  • seo怎么给网站做外链受欢迎的网站建设教程
  • 网站建设使用多语言河南电商网站设计
  • 网站搭建有免费的吗网站地图生成代码
  • 建设公司网站要注意什么投资小利润高的小生意
  • 网站建设需要做哪些工作做胃镜需那好天津津门网站A
  • 做网站申请域名的流程辽宁省工程造价网
  • 网站系统维护一般多长时间金华高端网站设计
  • 做网站公司销售开场白企业网站规划与开发
  • 兰州新区建站不锈钢网站建设
  • 淘宝小网站怎么做的电商网站有哪些
  • 哪些网站可以做画赚钱wordpress go跳转页
  • 怎么做新网站上线通稿深圳罗湖区网站建设公司
  • php 企业网站做网站可以赚钱吗
  • 局域网视频网站建设点播系统长沙3合1网站建设价格
  • 静态网站 服务器合肥做个网站什么价格
  • 宁阳网站设计家电网站设计方案
  • 网站备案icp秦皇岛黄金海岸
  • dedecms 金融类网站模板wordpress dux5.3
  • 学校网站源码wordpress向网站上传文件怎么做
  • 电子商务网站建设说课稿济南网站建设方案报价
  • 谈谈设计和建设网站体会wordpress header在哪
  • 360免费建站怎么进不去域名托管
  • 做网站视频存储网站建设有云端吗
  • 建网站如何上传南通 网站优化
  • 青海学会网站建设公司果汁网站模板