首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Application_Activation屏幕定位Windows

Application_Activation屏幕定位Windows
EN

Stack Overflow用户
提问于 2014-03-18 17:47:22
回答 1查看 263关注 0票数 1

我有一个应用程序运行在景观模式。因此,我希望弹出一个显示何时触发Applcation_activation的弹出窗口,以便身份验证和数据更新可以在后台进行。但问题是应用程序是在景观模式下运行的。

因此,如果我的应用程序启动时,手机是在纵向模式下,弹出将显示如下。因此,我希望确保方向是正确的,如果没有,则在代码中手动旋转。

但是我无法访问this.SupportedOrientation,那么如何从事件Application_activated显示弹出窗口呢?

解决方案解决方案当然是不使用事件或简单地设置一个标志,并在navigatedTo事件处理程序中为每个页面执行代码。但是,当事件存在的时候,这并不是一种简单的方法。

任何建议都很感谢。

屏幕截图来自我的两个应用程序

肖像

景观

弹出

简单的代码。

代码语言:javascript
运行
复制
Popup startup =new popup();
UsercontrolScreen childpopup =new UsercontrolScreen();
startup.child = childpopup;
startup.isOpen = true;

这两者的代码是相同的,只是孩子不一样。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-24 21:12:18

如果您希望从App类中添加一个覆盖,并且始终具有尊重的方向,则直接将其添加到页面内容中

代码语言:javascript
运行
复制
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事件,这样应用程序就可以将它从网格中删除。您还需要删除停用事件中的控件。或者,如果激活事件被停用两次,则不要将其再次添加到已激活事件中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22487112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档