• ModernUI + MVVM 导航


    在主窗体中注册消息

    1. Messenger.Default.Register<string>(this, pageuri =>  
    2.     {  
    3.         var frame = GetDescendantFromName(this, "ContentFrame") as ModernFrame;  
    4.             
    5.         // Set the frame source, which initiates navigation  
    6.         if (frame != null)  
    7.         {  
    8.             frame.Source = new Uri(p.Page, UriKind.Relative);  
    9.         }  
    10.     });

    主窗体中获取FRAME的方法

    1. private   static FrameworkElement GetDescendantFromName(DependencyObject parent,  string name)  
    2.     {  
    3.         var count = VisualTreeHelper.GetChildrenCount(parent);  
    4.    
    5.          if  (count < 1)  
    6.         {  
    7.              return   null ;  
    8.         }  
    9.    
    10.          for  (var i = 0; i < count; i++)  
    11.         {  
    12.             var frameworkElement = VisualTreeHelper.GetChild(parent, i)  as FrameworkElement;  
    13.              if  (frameworkElement !=  null )  
    14.             {  
    15.                  if  (frameworkElement.Name == name)  
    16.                 {  
    17.                      return  frameworkElement;  
    18.                 }  
    19.    
    20.                 frameworkElement = GetDescendantFromName(frameworkElement, name);  
    21.                  if  (frameworkElement !=  null )  
    22.                 {  
    23.                      return  frameworkElement;  
    24.                 }  
    25.             }  
    26.         }  
    27.    
    28.          return   null ;  
    29.     }  
    30. }  

    在页面中的导航请求

    Messenger.Default.Send(pageuri);

    ----------------------------------------------------------------------------------------------------------

    按钮导航

  • 相关阅读:
    最小二乘拟合(scipy实现)
    接口实例
    类的继承:员工和老板
    设计模式(Design Patterns)
    创建类
    面向对象1
    java随机数:彩票抽奖 + 验证码
    判断字符串中字符出现的次数+去除空格
    输出二维数组所有元素的和
    输出 一维数组中最大的数+数组遍历
  • 原文地址:https://www.cnblogs.com/zhangxiaoshuai/p/5582800.html
Copyright © 2020-2023  润新知