Wpf Page间跳转传参数 And Window To Page

  这段时间用到Wpf,页面间的跳转网上有不少的示例,但是有些已经不能用了,尤其是页面间的传参问题更是一大堆,但正确的解决方案却没有几个,或者说写的不清楚,让人走了很多弯路,查看官方文档后发现了正确的姿势,现记录如下

Page页间的跳转

     private void Button_Click(object sender, RoutedEventArgs e)
        {
            Page2 p = new Page2();
            this.NavigationService.Navigate(p, DateTime.Now);
        }
    //xaml 页面跳转实例      <Button Height="30" VerticalAlignment="Top">
            <Hyperlink NavigateUri="Page2.xaml" Foreground="Red">
                跳转
            </Hyperlink>
        </Button>

很简单吧。(网上有的说是Uri("") 做参数,发现不好使 )

Window To Page 跳转

//需要借助 NavigationWindow 实现
NavigationWindow nav = new NavigationWindow();
nav.Source = new Uri("Page1.xaml", UriKind.Relative);
nav.Show();

最后 说下page间传参数的问题

Page1 to Page2

Page1.cs        private void Button_Click(object sender, RoutedEventArgs e)
        {
            Page2 p = new Page2();
            this.NavigationService.Navigate(p, DateTime.Now);//注意LoadCompleted 事件的位置在 Page1.cs 中
            this.NavigationService.LoadCompleted += p.NavigationService_LoadCompleted;
        }
 Page2.cs        public void NavigationService_LoadCompleted(object sender, NavigationEventArgs e)
        {
            string msg = string.Format("{0} loaded.", e.ExtraData);
            MessageBox.Show(msg);
        }

有人说是 NavigationService.LoadCompleted 放在page2中,但会有 NavigationService 的NullReferenceExcepteion。

放在Load中就不会有此异常,但是页面刚跳转无效,返回就有,还是不行。

查找文档后 整理如上避免太多人的入坑,内容纯手写,仅此笔记而已,不喜勿喷。。。

原文地址:https://www.cnblogs.com/lic0914/p/9900314.html

时间: 2024-11-10 16:36:04

Wpf Page间跳转传参数 And Window To Page的相关文章

微信小程序页面跳转传参数

发送方 let data = event.currentTarget.dataset.id(要发送的参数) wx.navigateTo({ url: '../iteminfo/iteminfo?id=' + encodeURI(JSON.stringify(data)), }) //encodeURI:对传递的数据编码 (怕传递的数据被解析成代码) 接收方 //生命周期函数--监听页面加载 options接收传递过来的数据 data: { inid:"" }, onLoad: func

Spring MVC controller间跳转 重定向 传参 (转)

鸣谢:http://blog.sina.com.cn/s/blog_a85398ce0101f93x.html 1. 需求背景 需求:spring MVC框架controller间跳转,需重定向.有几种情况:不带参数跳转,带参数拼接url形式跳转,带参数不拼接参数跳转,页面也能显示. 2. 解决办法 需求有了肯定是解决办法了,一一解决,说明下spring的跳转方式很多很多,我这里只是说一些自我认为好用的,常用的,spring分装的一些类和方法. (1)我在后台一个controller跳转到另一个

springmvc controller间跳转 重定向 传参

1. 需求背景 需求:spring MVC框架controller间跳转,需重定向.有几种情况:不带参数跳转,带参数拼接url形式跳转,带参数不拼接参数跳转,页面也能显示. 本来以为挺简单的一件事情,并且个人认为比较常用的一种方式,一百度全都有了,这些根本不是问题,但是一百度居然出乎我的意料,一堆都不是我想要的结果.无奈啊,自己写一篇比较全都供以后大家一百度吧,哈哈哈...是这些写的不是很全都人们给了我写这篇博客的动力. 2. 解决办法 需求有了肯定是解决办法了,一一解决,说明下spring的跳

WPF 进程间传递参数

WPF 进程间传递参数 在软件开发中有时需要在一个软件中启动另一个软件,这时用Process.Start("软件路径")可以启动另一个软件.如果在这个过程中还需要传递一些参数给新启动的软件,可以通过WPF中的Application_Startup来完成: 首先,在需要启动的WPF项目中的APP中注册Application_Startup事件: private void Application_Startup(object sender, StartupEventArgs e) { if

Spring MVC controller间跳转 重定向 传参

1. 需求背景 需求:spring MVC框架controller间跳转,需重定向.有几种情况:不带参数跳转,带参数拼接url形式跳转,带参数不拼接参数跳转,页面也能显示. 2. 解决办法 需求有了肯定是解决办法了,一一解决,说明下spring的跳转方式很多很多,我这里只是说一些自我认为好用的,常用的,spring分装的一些类和方法. (1)我在后台一个controller跳转到另一个controller,为什么有这种需求呢,是这样的.我有一个列表页面,然后我会进行新增操作,新增在后台完成之后我

Spring mvc框架 controller间跳转 ,重定向 ,传参

 一.需求背景 1. 需求:spring MVC框架controller间跳转,需重定向.有几种情况:不带参数跳转,带参数拼接url形式跳转,带参数不拼接参数跳转,页面也能显示. @RequestMapping(value = "/activityType", method = RequestMethod.GET) public String activityType(HttpServletRequest request, ModelMap model,RedirectAttribut

WPF窗口跳转及window和page区别

分享一下我老师大神的人工智能教程吧.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net 刚接触WPF,有两个概念不是很懂,现理解如下: 1:window和page谁包含谁的问题 一新建WPF应用程序,发现默认启动界面是一个window,将默认启动改为page,没有错误.但是如果在page中执行如下程序报错: this.content = new Window1(); 错误信息是:window是在属性结构的根目录.那么,

wpf进程间通讯

wpf进程间通讯 在联想智能识别项目中,需要用到进程间通讯,并且是低权限向高权限发送消息.首先声明一下,此项目是wpf的. 首先先简要说一下什么时候会用到进程间通讯,如:在Windows程序中,各个进程之间如果需要交换数据,此时就可以用到进程通讯. 先讲讲怎么实现发送消息: 要用进程间通讯,就必须用到参数WM_COPYDATA,此参数的主要目的是允许在进程间传递只读数据. 发送消息需要用到SendMessage函数,如果接受方未接收完数据的话,是不会返回的,所以发送方在此过程中是不可能删除和修改

应用程序间跳转 (友盟SSO 授权 与系统自带的分享)

应用程序间跳转的应用场景 使用第三方用户登录,如微信登录,返回用户名和密码 需要用户授权,返回到调用程序,同时返回授权的用户名 应用程序推广,跳转到itunes并显示指定app下载页 第三方支付,跳转到支付APP,如支付宝,微信钱包 显示位置及导航功能时,跳转到第三方地图应用. 打电话.发邮件.发短信.打开网页等,跳转到内置APP程序 应用间的跳转: 1.//url :统一资源占位符 http://baidu.com tel://110 file:///apple/storebock //由