UWP页面导航问题求助!

155****760 UID.2811753
2017-08-10 发表

本帖最后由 15556433760 于 2017-8-10 16:08 编辑

我在MainPage上面定义了一个按钮,点击后打开另一个页面Searsh,
***图片停止解析***
但是在这个页面没有办法调用(Frame)AllFrame 如上图,

***图片停止解析***
想用这个页面的返回回到主页面!

AllFrame.Navigate(typeof(Seach), AllFrame);
这个方法也没有办法发送到Seach页面,并调用

后来小伙说封装一个Class,从Xmal树找到当前窗口,参照App.xmal.cs,我也没太看懂,希望有人指教谢谢。

敬告:
为防止不可控的内容风险,本站已关闭新用户注册,新贴的发表及评论;
你现在看到的内容只是互联网用户曾经发表的言论快照,仅用于老用户留存纪念,且仅与科技行业相关,全部内容不代表本站观点及立场;
本站重新开放前已针对包括用户隐私、版权保护、信息安全、国家政策在内的各种互联网法律法规要求,执行了隐患内容的自查、屏蔽和删除;
本站目前所属个人主体,未有任何盈利安排与计划,且与原WFUN.COM所属公司不存在任何关联关系;
如果本帖内容或者相关资源侵犯到您的合法权益,或者您认为存在问题,那么请您务必点此举报或投诉!
全部回复:
东方****WP UID.2877364
2017-08-10 回复

override search 页面的 OnNavigatedTo 方法, e.Parameter 就是你传的Allframe。。。不过一般都不这样玩。。 protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e);

ㄣ縴鯢の祐掱 UID.139044
2017-08-10 回复

图挂了,也没看懂你说的啥

AFAN-World UID.2879093
2017-08-10 使用 Lumia 640 XL 回复

同上,也没看懂你说的啥

155****760 UID.2811753
2017-08-10 使用 Lumia 950美版 回复

Quote东方财富网UWP 发表于 2017-8-10 17:12
override search 页面的 OnNavigatedTo 方法, e.Parameter 就是你传的Allframe。。。不过一般都不这样玩。 ...


异常了!

芒果****WP UID.2850590
2017-08-10 回复

把上一个页面的Page,做成Static的Instance,这样在后面那个FramePage就可以调用到了

tmp00000 UID.995403
2017-08-10 回复

使用 Mvvm 模式解决问题。按钮绑定命令,导航写 NavigationService。

东方****WP UID.2877364
2017-08-11 使用 Lumia 950 XL 回复

Quote15556433760 发表于 2017-8-10 18:28
异常了!


。。。异常信息?一般导航frame都封装成一个静态的导航类。。微软的sample里面有实例的

155****760 UID.2811753
2017-08-11 使用 Lumia 950美版 回复

Quote东方财富网UWP 发表于 2017-8-11 05:14
。。。异常信息?一般导航frame都封装成一个静态的导航类。。微软的sample里面有实例的 ...


是商店的应用吗?

155****760 UID.2811753
2017-08-11 使用 Lumia 950美版 回复

Quotetmp00000 发表于 2017-8-10 22:19
使用 Mvvm 模式解决问题。按钮绑定命令,导航写 NavigationService。


找了一个Mvvm教程,真正看,谢谢

155****760 UID.2811753
2017-08-11 使用 Lumia 950美版 回复

Quote芒果TV—UWP 发表于 2017-8-10 21:21
把上一个页面的Page,做成Static的Instance,这样在后面那个FramePage就可以调用到了 ...


能具体一点吗?初学有点懵

155****760 UID.2811753
2017-08-11 使用 Lumia 950美版 回复

Quote东方财富网UWP 发表于 2017-8-11 05:14
。。。异常信息?一般导航frame都封装成一个静态的导航类。。微软的sample里面有实例的 ...


异常信息
***图片停止解析***

东方****WP UID.2877364
2017-08-11 回复

Quote15556433760 发表于 2017-8-11 08:07
异常信息
***图片停止解析***


search 页面里 写了什么代码。。贴上来看看呢。。

东方****WP UID.2877364
2017-08-11 回复

Quote15556433760 发表于 2017-8-11 08:07
异常信息
***图片停止解析***


比如 你在mainpage构造里面 把 mainpage里面的 allframe 设置为 比如NavigationService 的一个静态frame,后面你就可以通过调用 NavigationService 静态frame 来控制你的导航了。。注意处理一些事件Frame的 BackRequested,Navigated事件

东方****WP UID.2877364
2017-08-11 回复

Quote15556433760 发表于 2017-8-11 08:07
异常信息
***图片停止解析***


http://www.cnblogs.com/hippieZhou/p/5203546.html 多查查,多*科学上网*,选择UWP 一般需要*科学上网*出去查资料

155****760 UID.2811753
2017-08-11 使用 Lumia 950美版 回复

Quote东方财富网UWP 发表于 2017-8-11 09:00
search 页面里 写了什么代码。。贴上来看看呢。。


Search页面代码
***图片停止解析***

155****760 UID.2811753
2017-08-11 使用 Lumia 950美版 回复

Quote东方财富网UWP 发表于 2017-8-11 09:21
http://www.cnblogs.com/hippieZhou/p/5203546.html 多查查,多*科学上网*,选择UWP 一般需要*科学上网* ...


我仔细研究一下

Opp****ity UID.2657865
2017-08-11 回复

为啥要把Frame当参数传?

155****760 UID.2811753
2017-08-11 使用 Lumia 950美版 回复

Quote东方财富网UWP 发表于 2017-8-11 09:21
http://www.cnblogs.com/hippieZhou/p/5203546.html 多查查,多*科学上网*,选择UWP 一般需要*科学上网* ...


谢谢你的帮助,

155****760 UID.2811753
2017-08-11 使用 Lumia 950美版 回复

QuoteOpportunity 发表于 2017-8-11 10:32 为啥要把Frame当参数传?
懂得太少了,现在正在看封装

player2135 UID.664133
2017-08-11 回复

你是要把AllFrame传进去?没必要啊,里面直接Frame就是这个AllFrame啊

zcxsythenew UID.911687
2017-08-11 回复

不知道你想要干什么。看起来你在MainPage里面又放了一个Frame,然后按下按钮,这个Frame转到Search。是这样吗? 想要从Search返回,可以直接在Search.xaml.cs里面用this.Frame.GoBack()。

155****760 UID.2811753
2017-08-11 使用 Lumia 950美版 回复

Quotezcxsythenew 发表于 2017-8-11 12:54
不知道你想要干什么。看起来你在MainPage里面又放了一个Frame,然后按下按钮,这个Frame转到Search。是这样 ...


谢谢,我尝试一下!

小****๑ UID.1003237
2017-08-11 回复

此贴好多大神露脸,赶紧合影{:6_225:}

155****760 UID.2811753
2017-08-11 使用 Lumia 950美版 回复

Quotezcxsythenew 发表于 2017-8-11 12:54
不知道你想要干什么。看起来你在MainPage里面又放了一个Frame,然后按下按钮,这个Frame转到Search。是这样 ...


真心实用

155****760 UID.2811753
2017-08-11 使用 Lumia 950美版 回复

Quote东方财富网UWP 发表于 2017-8-11 09:21
http://www.cnblogs.com/hippieZhou/p/5203546.html 多查查,多*科学上网*,选择UWP 一般需要*科学上网* ...


下午终于把模板套会,很好用,非常感谢

东方****WP UID.2877364
2017-08-11 回复

Quote15556433760 发表于 2017-8-11 16:22
下午终于把模板套会,很好用,非常感谢


{:6_233:} 这是我的博客https://home.cnblogs.com/u/FaDeKongJian/ ,有问题可以给我留言

155****760 UID.2811753
2017-08-11 使用 Lumia 950美版 回复

本帖最后由 15556433760 于 2017-8-11 18:05 编辑

Quote东方财富网UWP 发表于 2017-8-11 17:09 这是我的博客https://home.cnblogs.com/u/FaDeKongJian/ ,有问题可以给我留言 ...
去关注了一下,发消息不能发图,所以在这里问了! 如何用一个事件处理程序去调用另一个事件处理程序的方法,基本不同页,方法的类型也不同,比如Click和Tapped,用类型转换后会提示静态之类的,很迷茫!
***图片停止解析***
***图片停止解析***

东方****WP UID.2877364
2017-08-11 使用 Lumia 950 XL 回复

Quote15556433760 发表于 2017-8-11 18:04
去关注了一下,发消息不能发图,所以在这里问了! 如何用一个事件处理程序去调用另一个事件处理程序的方法, ...


{:6_218:}{:6_218:}{:6_218:}你想做什么。。。两个方法参数都不一样

155****760 UID.2811753
2017-08-11 使用 Lumia 950美版 回复

Quote东方财富网UWP 发表于 2017-8-11 19:39
你想做什么。。。两个方法参数都不一样


我想直接引用NavigationService里面的BackRequested()方法,这样就不用重新定义另一个NavigationService(不是同一个Frame),而且引用不同页面的事件,很方便,如果做的到的话,感觉可以省掉很多代码?
***图片停止解析***

zcxsythenew UID.911687
2017-08-11 回复

本帖最后由 zcxsythenew 于 2017-8-11 21:35 编辑

Quote15556433760 发表于 2017-8-11 18:04
去关注了一下,发消息不能发图,所以在这里问了!
如何用一个事件处理程序去调用另一个事件处理程序的方法, ...


你可能需要补一补C#的基础知识。
1. 将MainPage.StackPanel_Tapped_1中的代码选中,然后点击灯泡,点击提取方法。
2. 如果没有加上的话,在void前面加上static。
3. 你就可以在你需要的位置调用你提取出来的方法了。代码:MainPage.xxxx()

这样虽然可以解决问题,但是代码会有点乱(为什么返回键的代码放在MainPage里面?),一般比较建议新建一个类,在里面放一个静态的方法。如果你需要示例的话请回复。

155****760 UID.2811753
2017-08-12 使用 Lumia 950美版 回复

Quotezcxsythenew 发表于 2017-8-11 21:33
你可能需要补一补C#的基础知识。
1. 将MainPage.StackPanel_Tapped_1中的代码选中,然后点击灯泡,点击提 ...


是的,我没有理解如何封装返回键,可以给我示例,对我的帮我很大,谢谢

zcxsythenew UID.911687
2017-08-12 回复

Quote15556433760 发表于 2017-8-12 00:12
是的,我没有理解如何封装返回键,可以给我示例,对我的帮我很大,谢谢 ...


请通过站内消息告诉我你的Microsoft账户地址,以便我把项目共享给你。 我感觉你可能需要逐步说明以便于理解。
***图片停止解析***
***图片停止解析***

155****760 UID.2811753
2017-08-12 使用 Lumia 950美版 回复

Quotezcxsythenew 发表于 2017-8-12 11:41
请通过站内消息告诉我你的Microsoft账户地址,以便我把项目共享给你。 我感觉你可能需要逐步说明以便于理 ...


账户发给你了,怎么共享?

zcxsythenew UID.911687
2017-08-12 回复

本帖最后由 zcxsythenew 于 2017-8-12 12:52 编辑

Quote15556433760 发表于 2017-8-12 12:07
账户发给你了,怎么共享?


源代码在这里:
***链接停止解析***
用你的Microsoft账户登录。
列表排序方式是倒序,从倒数第三项开始往前看。忽略csproj文件。

更正:在最后一个项目(就是最上面的那个)中,DetailedPage.xaml.cs的31至34行可以删去。(即:删去Manager_BackRequested方法。)

155****760 UID.2811753
2017-08-12 使用 Lumia 950美版 回复

Quotezcxsythenew 发表于 2017-8-12 12:27
源代码在这里:
https://mscn2014partner.visualstudio.com/_git/Sample/commits
用你的Microsoft账户登 ...


好的,非常感谢

155****760 UID.2811753
2017-08-13 使用 Lumia 950美版 回复

Quotezcxsythenew 发表于 2017-8-12 12:27
源代码在这里:
https://mscn2014partner.visualstudio.com/_git/Sample/commits
用你的Microsoft账户登 ...


封装第四步,这个没看懂
***图片停止解析***

zcxsythenew UID.911687
2017-08-13 回复

Quote15556433760 发表于 2017-8-13 15:55
封装第四步,这个没看懂
***图片停止解析***


你是哪里看不懂?看不懂同名函数,还是不知道在哪里调用RequestNavigate方法?

155****760 UID.2811753
2017-08-13 使用 Lumia 950美版 回复

Quotezcxsythenew 发表于 2017-8-13 17:29
你是哪里看不懂?看不懂同名函数,还是不知道在哪里调用RequestNavigate方法? ...


括号里面的参数,即多了“parameter”和底下的有什么区别?

zcxsythenew UID.911687
2017-08-13 回复

为什么要纠结这两个方法有什么区别呢?你现在的目标是要把Frame.Navigate方法封装起来,Frame.Navigate一共有两种调用方式,自然就要用两个同名的方法来封装啊!

155****760 UID.2811753
2017-08-13 使用 Lumia 950美版 回复

Quotezcxsythenew 发表于 2017-8-13 18:38
为什么要纠结这两个方法有什么区别呢?你现在的目标是要把Frame.Navigate方法封装起来,Frame.Navigate一共 ...


嗯,現在正在尝试在应用中实现,谢谢

zcxsythenew UID.911687
2017-08-13 回复

Quote15556433760 发表于 2017-8-13 20:17
嗯,現在正在尝试在应用中实现,谢谢


此模板经过简化,与楼上的那个网址所示并不一致。目前这个模板只适合仅有一个Frame需要导航的情况。如果需要处理多个Frame的导航(例如,Window.Current.Content和AllFrame都需要进行导航),则需要进一步的处理。如果需要示例请回复。

155****760 UID.2811753
2017-08-14 使用 Lumia 950美版 回复

Quotezcxsythenew 发表于 2017-8-13 22:19
此模板经过简化,与楼上的那个网址所示并不一致。目前这个模板只适合仅有一个Frame需要导航的情况。如果 ...


那么,请给我新的模板,拜谢!

zcxsythenew UID.911687
2017-08-15 回复

本帖最后由 zcxsythenew 于 2017-8-15 10:48 编辑

Quote***链接停止解析***
那么,请给我新的模板,拜谢!


请先用电脑网页版查看此页,然后点击***链接停止解析***下载源代码。

虽然网页版显示你无权发帖,但你仍可以点击***链接停止解析***回复本楼层。

155****760 UID.2811753
2017-08-15 回复

Quote***链接停止解析***
请先用电脑网页版查看此页,然后点击此处下载源代码。

虽然网页版显示你无权发帖,但你仍可以点击此处回 ...


这是什么操作?好有趣?管理员权限吗?

本站使用Golang构建,点击此处申请开源鄂ICP备18029942号-4联系站长投诉/举报