Windows 10 UWP中的可视状态管理器未在页面加载时应用初始状态

我有一个页面,其中包含一个相对面板,可根据宽度重新组织。 但是,除非宽度> 720px,否则它似乎不会在加载时应用任何状态。 如果我在加载后调整页面大小,则两个状态都有效。

解决方法是检查加载页面上的窗口大小并手动选择状态,但我相信这应该自动处理? 我有其他页面可以工作,我不确定我在做什么不同。 这是我的代码的简化版本,我有它设置红色/蓝色背景,所以我可以判断是否/正在应用哪个状态

                                                                   

  • 更新

我已经更新了代码以显示缺少的ZonesWrapGrid,它似乎确实是相关的。 当我调整页面大小时它会切换ZonesWrapGrid方向时,视觉状态会对它起作用,只是在加载时没有设置状态。

但是,如果我从可视状态管理器中删除ZonesWrapGrid更改,则窄/宽状态会在加载时正确应用,但当然我会丢失我想要的方向更改。

你能尝试更换整个ItemsPanelTemplate吗? 在资源中创建:

       

然后在需要时交换: