Windows 8 如何在Windows 8.1应用商店中处理各种视图状态
我有windows 8.0代码,我处理过视图状态的UI,如纵向、横向、填充和快照。但在Windows8.1中,用户可以将应用程序移动到任何大小。在这种情况下,如何处理UI。目前我是这样做的Windows 8 如何在Windows 8.1应用商店中处理各种视图状态,windows-8,windows-store-apps,windows-8.1,Windows 8,Windows Store Apps,Windows 8.1,我有windows 8.0代码,我处理过视图状态的UI,如纵向、横向、填充和快照。但在Windows8.1中,用户可以将应用程序移动到任何大小。在这种情况下,如何处理UI。目前我是这样做的 private void QuestionPage_SizeChanged(object sender, SizeChangedEventArgs e) { ApplicationViewState currentState = Windows.UI.ViewManagement.
private void QuestionPage_SizeChanged(object sender, SizeChangedEventArgs e)
{
ApplicationViewState currentState = Windows.UI.ViewManagement.ApplicationView.Value;
if (currentState.Equals(ApplicationViewState.Snapped))
{
VisualStateManager.GoToState(this, "Snapped", false);
}
else if (currentState.Equals(ApplicationViewState.FullScreenLandscape))
{
VisualStateManager.GoToState(this, "FullScreenLandscape", false);
}
else if (currentState.Equals(ApplicationViewState.Filled))
{
VisualStateManager.GoToState(this, "Filled", false);
}
else if (currentState.Equals(ApplicationViewState.FullScreenPortrait))
{
VisualStateManager.GoToState(this, "FullScreenPortrait", false);
}
}
不要将布局基于
ApplicationViewState
,而是根据窗口的大小和纵横比进行设置。想一想用户会如何使用你的应用程序,以及在这些情况下,什么样的布局效果最好。当窗口宽度小于某个值(例如500px)时,可能一个布局就可以了,或者您可能希望将GridView
布局切换为ListView
布局。想一想在这些情况下使用什么最舒服。至少-在调整应用程序的大小时,测试布局是否没有崩溃。首先,你需要决定如何对大小进行分类。我们决定采取以下措施:
默认-横向全屏。
肖像-肖像全屏。
小-捕捉/调整大小为500-683宽,垂直方向
中等-拍摄/调整大小至684宽及以上,垂直方向
所以基本上,中小型是垂直布局,因为高度大于宽度。当中等宽度大于其高度时,它将是默认的横向尺寸
我们使用:DisplayOrientions CurrentOrientation=Windows.Graphics.Display.DisplayInformation.GetForCurrentView().CurrentOrientation对于SizeChangedEventArgs
,代码>而不是ApplicationViewState
然后按如下方式定义尺寸:
//Small Size
if (e.NewSize.Width <= 683
&& (CurrentOrientation == DisplayOrientations.Landscape || CurrentOrientation == DisplayOrientations.LandscapeFlipped || CurrentOrientation == DisplayOrientations.None))
//小尺寸
如果(如NewSize.Width