【发布时间】:2014-03-25 05:12:18
【问题描述】:
我有一个以横向模式运行的应用程序。因此,我想要一个弹出窗口显示 Applcation_activation 何时被触发,因此身份验证和数据更新可以在后台发生。但问题是应用程序以横向模式运行。
因此,如果我的应用程序在手机处于纵向模式时启动,弹出窗口将如下所示。因此,我想确保方向正确,如果没有在代码中手动进行旋转。
但我无法访问 this.SupportedOrientation,那么如何显示事件 Application_activated 的弹出窗口?
解决方案 一个解决方案当然是不使用该事件或简单地设置一个标志并在每个页面的 navigatedTo 事件处理程序中执行代码。但是,当事件存在时,这不是一个很好的方法。
欢迎提出任何建议
我的两个应用的屏幕截图
肖像
风景
弹出窗口
基本简单的代码。
Popup startup =new popup();
UsercontrolScreen childpopup =new UsercontrolScreen();
startup.child = childpopup;
startup.isOpen = true;
两者的代码相同,只是孩子不同。
【问题讨论】:
-
您不应在应用程序事件期间显示弹出窗口,而应在 MainPage 中使用 OnNavigatedTo 等页面事件
-
好的,所以我应该在所有页面上使用 OnNavigatedTo。看起来并不聪明。
-
如果你的应用只支持横向,我看不出是什么问题。无论手机方向如何,您的 xaml(或弹出窗口)都将始终显示为横向
-
不通过 application_activated 事件。当然,如果我让弹出窗口出现在 OnNavigatedTo 事件中,它们在横向中没有问题。但这将迫使我在每个页面中编写代码,如果我可以使用 application_activated 事件,我就不必专注于此。
-
你听说过对象继承吗?在不了解您的要求的情况下,您可以创建一个新的 MyPhoneApplicationPage,在其 OnNavigatedTo 中执行此操作。所有页面都将从它继承,它们都会受益
标签: c# windows-phone-8 popup orientation