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中就不会有此异常,但是页面刚跳转无效,返回就有,还是不行。
查找文档后 整理如上避免太多人的入坑,内容纯手写,仅此笔记而已,不喜勿喷。。。
Wpf Page间跳转传参数 And Window To Page的更多相关文章
- iOS 程序间跳转传参(支付和地图)
两个APP之间的跳转是通过[[UIApplication sharedApplication] openURL:url]这种方式来实现的. 1.首先设置第一个APP的url地址 2.接着设置第二个AP ...
- vue路由跳转传参数
1. router-link <router-link :to="{ path: 'yourPath', params: { name: 'name', dataObj: data } ...
- WPF 之 窗口间传参数
有如下几种方式: 1) 声明个全局变量,就是App.xaml里面声明:在所有窗体里面都可以引用 Application.Current.Properties["ArgumentName&qu ...
- spring mvc controller间跳转 重定向 传参 (转)
转自:http://zghbwjl.blog.163.com/blog/static/12033667220137795252845/ 1. 需求背景 需求:spring MVC框架contr ...
- Spring mvc框架 controller间跳转 ,重定向 ,传参
一.需求背景 1. 需求:spring MVC框架controller间跳转,需重定向.有几种情况:不带参数跳转,带参数拼接url形式跳转,带参数不拼接参数跳转,页面也能显示. @Req ...
- springMVC controller间跳转、重定向、传参
转载自:http://zghbwjl.blog.163.com/blog/static/12033667220137795252845/ 1. 需求背景 需求:spring MVC框架co ...
- Spring Mvc Controller间跳转 重定向 传参 (转)
原文链接:http://zghbwjl.blog.163.com/blog/static/12033667220137795252845/ 1. 需求背景 需求:spring MVC框架con ...
- WPF 进程间传递参数
WPF 进程间传递参数 在软件开发中有时需要在一个软件中启动另一个软件,这时用Process.Start(“软件路径”)可以启动另一个软件.如果在这个过程中还需要传递一些参数给新启动 ...
- spring mvc controller间跳转 重定向 传参(转)
spring mvc controller间跳转 重定向 传参 url:http://zghbwjl.blog.163.com/blog/static/12033667220137795252845/ ...
随机推荐
- python中模拟进行ssh命令的执行
在进行socket编程的时候,可以实现远程执行命令,然后返回相关的结果,但是这种...很容易就把服务器搞挂了. 在这里需要用到commands模块,commands模块中有一个方法为getstatus ...
- Javascript 日期 加减
//create the date var myDate = new Date(); //add a day to the date myDate.setDate(myDate.getDate() + ...
- js中改变文档的层次结构(创建元素节点,添加结点,插入子节点,取代子节点,删除子节点)
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- Why Go's Declaration Syntax is better than C++?
[Why Go's Declaration Syntax is better than C++?] Newcomers to Go wonder why the declaration syntax ...
- JSP中的<jsp:include...>和<%@include %>
jsp中include有两种写法, 都是包含一个页面或者一个文件的意思, 写法略有不同 <jsp:include page = "url" />或者<jsp:in ...
- assetBundle打包脚本与LUA
AssetBundles与脚本 所有Unity的AssetBundle,无论是从本地获取 还是www,或者打包整个场景.物体上的脚本都不会被编译.所以AssetBundle打包的时候即使物体上有脚本. ...
- tar、tgz、gz文件批量解压方法
我是用for i in $(ls *.tgz);do tar xvf $i;done 批量解压的tgz文件的我是用for i in $(ls *.gz);do gzip -d $i;done批量解压的 ...
- 二叉树垂直遍历 · Binary Tree Vertical Order Traversal
[抄题]: 给定二叉树,返回其节点值的垂直遍历顺序. (即逐列从上到下).如果两个节点在同一行和同一列中,则顺序应 从左到右. 给定一个二叉树 {3,9,20,#,#,15,7} 3 /\ / \ 9 ...
- 用Diff和Patch工具维护源码
在Unix系统下,维护源码版本可以使用很多方法,其中最常用的当然是大名鼎鼎的CVS,但实际上,简单的版本维护工作并没有必要使用复杂的CVS等专门的版本维护工具,Unix标配中的diff和patch工具 ...
- spring mvc 多库连接
最近弄了个spring mvc + hibernate4为框架的项目,其中需用到其他两个库的数据.具体如下: 1.将两库的application文件配置好,需注意的地方是两个事务控制是不一样的. 和 ...