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

全网营销型的网站息壤网站模板

全网营销型的网站,息壤网站模板,网店怎么做,提供网站建设设计外包背景#xff1a;使用ContentControl控件实现区域导航是有Mvvm框架的WPF都能使用的#xff0c;不限于Prism 主要是将ContenControl控件的Content内容在ViewModel中切换成不同的用户控件 下面是MainViewModel#xff1a; private object body;public object Body {get { retu…背景使用ContentControl控件实现区域导航是有Mvvm框架的WPF都能使用的不限于Prism 主要是将ContenControl控件的Content内容在ViewModel中切换成不同的用户控件 下面是MainViewModel private object body;public object Body {get { return body; }set { body value; RaisePropertyChanged(); } }public DelegateCommandstring OpenCommand { get; set; }public MainWindowViewModel() {OpenCommand new DelegateCommandstring(obj {Body obj switch{ViewA new ViewA(),ViewB new ViewB(),ViewC new ViewC(),_ Body};}); } 上面是有Mvvm框架就行了每次打开新的模块就创建一个用户控件对象 下面是使用Prism框架的导航实现会方便一些 1.首先在App.xaml.cs中注入用户控件的依赖 2.ContentControl中的Content修改为 ContentControl Grid.Row1 prism:RegionManager.RegionNameContentRegion / 3.MainWindowViewModel变成 public class MainWindowViewModel : BindableBase {private readonly IRegionManager regionManager;public DelegateCommandstring OpenCommand { get; set; }public MainWindowViewModel(IRegionManager regionManager){OpenCommand new DelegateCommandstring(obj { regionManager.Regions[ContentRegion].RequestNavigate(obj); });this.regionManager regionManager;} } -- 也就是由创建用户控件变成调用依赖注入的用户控件 导航参数 在调用导航前设置导航参数请求导航的时候将导航参数传递过去 NavigationParameters keys new NavigationParameters(); keys.Add(Title, Hello);regionManager.Regions[ContentRegion].RequestNavigate(viewName, keys); 然后导航用户控件的ViewModel需要接口INavigationAware接口重写方法中都是带有参数NavigationContext的然后通过它获取导航参数就行 public void OnNavigatedTo(NavigationContext navigationContext) {if (navigationContext.Parameters.ContainsKey(Title))Tile navigationContext.Parameters.GetValuestring(Title); } 路由守卫 需要实现路由守卫需要将原本的INavigationAware接口换成IConfirmNavigationRequest重写的方法如果continuationCallback的值是true就给导航过去如果没有就不给导航 public void ConfirmNavigationRequest(NavigationContext navigationContext, Actionbool continuationCallback) {bool result true;if (MessageBox.Show(请求导航, 温馨提示, MessageBoxButton.YesNo) MessageBoxResult.No){result false;}continuationCallback(result); } 导航日志 private IRegionNavigationJournal journal; // 打开区域的方法 private void OpenView(string viewName) {NavigationParameters keys new NavigationParameters();keys.Add(Title, Hello);// 调用完区域就记录在日志中regionManager.Regions[ContentRegion].RequestNavigate(viewName, callBack {if (callBack.Cancelled){return;}journal callBack.Context.NavigationService.Journal;}, keys); }//返回上一页方法让按钮绑定就行 private void back() {if (journal.CanGoBack)journal.GoBack(); }
http://www.w-s-a.com/news/646117/

相关文章:

  • 网络优化软件下载竞价排名和seo的区别
  • 龙华新区做网站中高端网站建设
  • 网站开发小图标大全手机网站设计开发
  • 网页设计设计一个网站口碑营销的优点
  • 枣庄建网站的公司唐山企业网络推广培训
  • 张家界建设企业网站学校资源网站建设方案
  • 网站制作教程书籍业务管理系统
  • 上传网站空间的建站程序怎么删除c 网站开发案例详解下载
  • 企业网站维护兼职丹阳网站优化
  • 秦皇岛网站开发公司怎么注册自己的公司
  • 写作网站哪个能得稿费绿色环保企业网站模板
  • 牡丹江网站建设定制开发安徽建设工程信息网官网入口
  • 有什么好的网站建设的书适合在家做的网站工作
  • wordpress情侣源码西安网站快速优化
  • 昆明网站建设高端定制100种班服设计图
  • 网站开发程序说明html网页制作接单
  • 企业网站货物查询怎么做制作文件的软件
  • 怎么做网站的防盗链北京门户企业网站建设
  • 网站推广的主流方法淘客网站 源码
  • 网站海外推广怎么做多用户商城系统源码教程
  • 猎头做单网站网站创建费用
  • 住房和城乡建设网站 上海自己做网站还是公众号
  • 投票网站怎么制作电商网站模板html
  • 攀枝花移动网站建设抖音广告投放平台
  • 什么是网站设计第一装修网
  • 公司网站建设一条织梦门户网站源码
  • 网站改版中su域名注册
  • 做网站有没有前途济南产品网站建设外包
  • 网站备案咨询做静态网站多少钱
  • 软件开发和网站建设一样吗太原今天最新通知