我有一个应用程序运行在景观模式。因此,我希望弹出一个显示何时触发Applcation_activation的弹出窗口,以便身份验证和数据更新可以在后台进行。但问题是应用程序是在景观模式下运行的。
因此,如果我的应用程序启动时,手机是在纵向模式下,弹出将显示如下。因此,我希望确保方向是正确的,如果没有,则在代码中手动旋转。
但是我无法访问this.SupportedOrientation,那么如何从事件Application_activated显示弹出窗口呢?
解决方案解决方案当然是不使用事件或简单地设置一个标志,并在navigatedTo事件处理程序中为每个页面执行代码。但是,当事件存在的时候,这并不是一种简单的方法。
任何建议都很感谢。
屏幕截图来自我的两个应用程序
肖像

景观

弹出
简单的代码。
Popup startup =new popup();
UsercontrolScreen childpopup =new UsercontrolScreen();
startup.child = childpopup;
startup.isOpen = true;这两者的代码是相同的,只是孩子不一样。
发布于 2014-03-24 21:12:18
如果您希望从App类中添加一个覆盖,并且始终具有尊重的方向,则直接将其添加到页面内容中
private void Application_Activated(object sender, ActivatedEventArgs e)
{
var activePage = (PhoneApplicationPage) RootFrame.Content;
var pageContent = (Grid) activePage.Content;
UsercontrolScreen childpopup = new UsercontrolScreen();
Grid.SetRowSpan(childpopup , pageContent.RowDefinitions.Count);
pageContent.Children.Add(childpopup );
}使用这种方法,您还需要删除内容。可能在控件上有一个X按钮来移除自己,或者触发一个Closed事件,这样应用程序就可以将它从网格中删除。您还需要删除停用事件中的控件。或者,如果激活事件被停用两次,则不要将其再次添加到已激活事件中。
https://stackoverflow.com/questions/22487112
复制相似问题