可以说我有一个网格,其中包含2行,2列以及每个单元格内的许多控件。
当应用程序更改为快照模式时,我的意思是我只希望该应用程序占屏幕的1/3,即一列,两行并仅显示我决定的一些控件。
我对此有什么控制权?
谢谢
最佳答案
您应该在xaml中使用VisualStateManager,以获取完整的xaml解决方案:
<Grid x:Name="LayoutRoot">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="OrientationStates">
<VisualState x:Name="Full"/>
<VisualState x:Name="Fill"/>
<VisualState x:Name="Portrait"/>
<VisualState x:Name="Snapped"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
</Grid>
为每个VisualState创建StoryBoard,并在xaml中隐藏/显示元素。 Microsoft示例使用相同的解决方案。
--
更新
我在网上搜索并找到了正确的状态,此链接后面有一个示例:MSDN。
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="ApplicationViewStates">
<VisualState x:Name="FullScreenLandscape"/>
<VisualState x:Name="Filled"/>
<VisualState x:Name="FullScreenPortrait"/>
<VisualState x:Name="Snapped"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
状态反射(reflect)了ApplicationViewState枚举。甚至可以找到更多信息here。
关于xaml - 如何检测方向变化并更改布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10975706/