在OnNavigatedTo函数里设定(若在起始页设置后整个系统都会保持横屏或 竖屏 )
横屏:
DisplayProperties
.AutoRotationPreferences =
DisplayOrientations
.Landscape;
竖屏
:
DisplayProperties
.AutoRotationPreferences =
DisplayOrientations
.Portrait;
protected
override
void
OnNavigatedTo(
NavigationEventArgs
e)
{
DisplayProperties
.AutoRotationPreferences =
DisplayOrientations
.Landscape;
base
.OnNavigatedTo(e);
}
DisplayOrientations Enumeration
此主题尚未评级 - 评价此主题
描述矩形监视器的方向。
语法
public enum DisplayOrientations
特性
-
FlagsAttribute()
VersionAttribute(NTDDI_WIN8)
成员
DisplayOrientations枚举 具有以下成员。
成员 | 值 | 描述 |
---|---|---|
None | none | 0 | 未指定显示方向。 |
Landscape |landscape | 1 | 指定监视器的方向为横向模式,其中显示查看区域的宽度大于其高度。 |
Portrait | portrait | 2 | 指定沿顺时针方向将监视器旋转 90 度以使显示的方向为纵向模式,其中显示查看区域的高度大于其宽度。 |
LandscapeFlipped|landscapeFlipped | 4 | 指定沿顺时针方向将监视器再次旋转 90 度(等于 180 度)以使显示的方向为横向模式,其中显示查看区域的宽度大于其高度。此横向模式翻转是从 Landscape 模式翻转 180 度。 |
PortraitFlipped |portraitFlipped | 8 | 指定沿顺时针方向将监视器再次旋转 90 度(等于 270 度)以使显示的方向为纵向模式,其中显示查看区域的高度大于其宽度。此纵向模式翻转是从 Portrait 模式翻转 180 度。 |
备注
显示方向表示了监视器在沿顺时针方向旋转旋转显示一个直接的图片的角度。例如,如果操作系统报告方向为 90 度,用户将该监视器沿顺时针方向旋转 90 度以显示摆正的图片;如果用户恢复监视器到其原始位置,则操作系统报告方向为 90 度逆时针。应用程序通常使用此属性根据当前屏幕旋转转换加速计的读数或转换物理按钮事件。
首先定向为横向模式的设备具有以下旋转角度:
- Landscape = 0 度
- Portrait = 90 度
- LandscapeFlipped = 180 度
- PortraitFlipped = 270 度
首先定向为纵向模式的设备具有以下旋转角度:
- Portrait = 0 度
- LandscapeFlipped = 90 度
- PortraitFlipped = 180 度
- Landscape = 270 度
根据 DPI 示例的缩放 显示如何使用 DisplayOrientations 枚举。
以及视觉状态管理
<
VisualStateManager.VisualStateGroups
>
<!-- 视觉状态反映应用程序的视图状态-->
<
VisualStateGroup
x
:
Name
="ApplicationViewStates">
<
VisualState
x
:
Name
="FullScreenLandscape"/>
<
VisualState
x
:
Name
="Filled"/>
<!-- 整页采用较窄的 100 像素页边距约定(纵向)-->
<
VisualState
x
:
Name
="FullScreenPortrait">
<
Storyboard
>
<
ObjectAnimationUsingKeyFrames
Storyboard.TargetName
="backButton"
Storyboard.TargetProperty
="Style">
<
DiscreteObjectKeyFrame
KeyTime
="0"
Value
="{
StaticResource
PortraitBackButtonStyle
}"/>
</
ObjectAnimationUsingKeyFrames
>
<
ObjectAnimationUsingKeyFrames
Storyboard.TargetName
="itemGridView"
Storyboard.TargetProperty
="Padding">
<
DiscreteObjectKeyFrame
KeyTime
="0"
Value
="96,137,10,56"/>
</
ObjectAnimationUsingKeyFrames
>
</
Storyboard
>
</
VisualState
>
<!--
对齐后,后退按钮和标题的样式将有所不同,并且列表表示形式将被
所有视图状态中显示的网格所替代
-->
<
VisualState
x
:
Name
="Snapped">
<
Storyboard
>
<
ObjectAnimationUsingKeyFrames
Storyboard.TargetName
="backButton"
Storyboard.TargetProperty
="Style">
<
DiscreteObjectKeyFrame
KeyTime
="0"
Value
="{
StaticResource
SnappedBackButtonStyle
}"/>
</
ObjectAnimationUsingKeyFrames
>
<
ObjectAnimationUsingKeyFrames
Storyboard.TargetName
="pageTitle"
Storyboard.TargetProperty
="Style">
<
DiscreteObjectKeyFrame
KeyTime
="0"
Value
="{
StaticResource
SnappedPageHeaderTextStyle
}"/>
</
ObjectAnimationUsingKeyFrames
>
<
ObjectAnimationUsingKeyFrames
Storyboard.TargetName
="itemListView"
Storyboard.TargetProperty
="Visibility">
<
DiscreteObjectKeyFrame
KeyTime
="0"
Value
="Visible"/>
</
ObjectAnimationUsingKeyFrames
>
<
ObjectAnimationUsingKeyFrames
Storyboard.TargetName
="itemGridView"
Storyboard.TargetProperty
="Visibility">
<
DiscreteObjectKeyFrame
KeyTime
="0"
Value
="Collapsed"/>
</
ObjectAnimationUsingKeyFrames
>
</
Storyboard
>
</
VisualState
>
</
VisualStateGroup
>
</
VisualStateManager.VisualStateGroups
>