博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Wpf Page间跳转传参数 And Window To Page
阅读量:5124 次
发布时间:2019-06-13

本文共 1368 字,大约阅读时间需要 4 分钟。

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

Page页间的跳转

     private void Button_Click(object sender, RoutedEventArgs e)        {                       Page2 p = new Page2();            this.NavigationService.Navigate(p, DateTime.Now);        }
     //xaml 页面跳转实例       

很简单吧。(网上有的说是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

你可能感兴趣的文章
【整理】强化学习与MDP
查看>>
双内核问题
查看>>
【转】android程序连接网络出现android.os.NetworkOnMainThreadExceptionat
查看>>
编程是一门实践性的科学
查看>>
判断 JS 中对象的类型
查看>>
从燃尽图看项目管理:你的项目哪里出错了?(燃尽图类型全解析)
查看>>
Python模块及其导入
查看>>
20172329 2017-2018-2 《程序设计与数据结构》实验一报告
查看>>
验证码
查看>>
代码实践
查看>>
学习曾国藩,学做人做事学技术
查看>>
【例3-4】求后序遍历
查看>>
python批量操作Linux服务器脚本,ssh密码登录(执行命令、上传、下载)(一)...
查看>>
如何优化虚拟桌面
查看>>
[jQuery] jQuery函数
查看>>
[NOIP2010提高组]关押罪犯
查看>>
线段树(单点更新(模板)) 之 hdu 1166
查看>>
数学 之 hdu 4861
查看>>
模拟退火
查看>>
LDA-Latent Dirichlet Allocation 学习笔记
查看>>