导航到页面时获取Windows应用商店应用的大小

时间:2013-11-03 04:11:34

标签: c# windows-store-apps windows-8.1 visualstatemanager

所以我最近升级并开始更新我的Windows 8.1应用程序随着AplicationViewState被弃用,我在获取应用程序的当前大小时遇到​​问题,以确定应该加载哪个布局。当我在页面打开后更改应用程序的大小时,我可以加载我需要的布局。但是当我导航到下一页时,无论应用程序是否被捕捉,它都会加载默认视图(即横向视图)。我订阅了WindowSizeChanged事件来处理更改,但是当我第一次导航到页面时,我似乎无法获取大小。

这是我如何处理应用程序内部大小更改的示例

void WindowSizeChanged(object sender, WindowSizeChangedEventArgs e)
    {
        if (e.Size.Width < e.Size.Height + 100)
        {
            VisualStateManager.GoToState(this, "Portrait", true);
        }

        else
        {
            VisualStateManager.GoToState(this, "Landscape", true);
        }
    }

提前致谢!

1 个答案:

答案 0 :(得分:0)

发现我做错了什么。 xaml页面上的VisualStateMnager位于grid control之外。一旦我将它放入Grid Control,它就可以正常工作。