Windows 8 Store Apps学习(56)系统UI Scale, Snap,Orientation,High Contrast

介绍

重新想象 Windows 8 Store Apps 之 系统 UI

获取系统的 UI 相关的设置 信息

屏幕方向

Snap

为 snap 操作和屏幕方向的改变增加动画效果

缩放至不同屏幕

高对比度

示例

1、演示如何获取系统的 UI 相关的设置 信息

UI/UISettingsInfo.xaml.cs

/*
 * 演示如何获取系统的 UI 相关的设置信息
 */

using System;
using Windows.UI.ViewManagement;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Navigation;

namespace XamlDemo.UI
{
    public sealed partial class UISettingsInfo : Page
    {
        public UISettingsInfo()
        {
            this.InitializeComponent();
        }

        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            UISettings uiSettings = new UISettings();

            lblMsg.Text = "AnimationsEnabled: " + uiSettings.AnimationsEnabled; 

// 是否启用动画
            lblMsg.Text += Environment.NewLine;
            lblMsg.Text += "CaretBlinkRate: " + uiSettings.CaretBlinkRate; // 输入光标的闪烁速率
            lblMsg.Text += Environment.NewLine;

            /*
             * 光标浏览模式(Caret Browsing) - 在页面中会出现一个类似于记事本中的输入光标,用户可以使用键盘(按 Shift 键 + 方向键)来精确地进行页面文字的选择
             * IE8 以上可以通过“F7”来打开/关闭光标浏览模式
             */
            lblMsg.Text += "CaretBrowsingEnabled: " + 

uiSettings.CaretBrowsingEnabled; // 当前输入光标是否可用于光标浏览模式
            lblMsg.Text += Environment.NewLine;

            lblMsg.Text += "CaretWidth: " + uiSettings.CaretWidth; // 输入光标的宽度
            lblMsg.Text += Environment.NewLine;
            lblMsg.Text += "CursorSize: " + uiSettings.CursorSize; // 指针的尺寸
            lblMsg.Text += Environment.NewLine;
            lblMsg.Text += "DoubleClickTime: " + uiSettings.DoubleClickTime; // 捕获双击时,两次单击间的最长时间
            lblMsg.Text += Environment.NewLine;
            lblMsg.Text += "HandPreference: " + uiSettings.HandPreference; // 用户界面的方向(LeftHanded 或 RightHanded)
            lblMsg.Text += Environment.NewLine;
            lblMsg.Text += "MessageDuration: " + uiSettings.MessageDuration; // 消息显示的持续时间,单位:秒
            lblMsg.Text += Environment.NewLine;
            lblMsg.Text += "MouseHoverTime: " + uiSettings.MouseHoverTime; // hover 事件触发之前,指针可以 hover 的时间
            lblMsg.Text += Environment.NewLine;
            lblMsg.Text += "ScrollBarArrowSize: " + uiSettings.ScrollBarArrowSize; // 当前窗口滚动条的箭头的大小
            lblMsg.Text += Environment.NewLine;
            lblMsg.Text += "ScrollBarSize: " + uiSettings.ScrollBarSize; // 当前窗口滚动条的大小
            lblMsg.Text += Environment.NewLine;
            lblMsg.Text += "ScrollBarThumbBoxSize: " + uiSettings.ScrollBarThumbBoxSize; // 当前窗口滚动条 thumb 的大小
            lblMsg.Text += Environment.NewLine;

            // 获取当前系统的相关颜色
            lblMsg.Text += "ActiveCaption: " + uiSettings.UIElementColor(UIElementType.ActiveCaption);
            lblMsg.Text += Environment.NewLine;
            lblMsg.Text += "Background: " + uiSettings.UIElementColor(UIElementType.Background);
            lblMsg.Text += Environment.NewLine;
            lblMsg.Text += "ButtonFace: " + uiSettings.UIElementColor(UIElementType.ButtonFace);
            lblMsg.Text += Environment.NewLine;
            lblMsg.Text += "ButtonText: " + uiSettings.UIElementColor(UIElementType.ButtonText);
            lblMsg.Text += Environment.NewLine;
            lblMsg.Text += "CaptionText: " + uiSettings.UIElementColor(UIElementType.CaptionText);
            lblMsg.Text += Environment.NewLine;
            lblMsg.Text += "GrayText: " + uiSettings.UIElementColor(UIElementType.GrayText);
            lblMsg.Text += Environment.NewLine;
            lblMsg.Text += "Highlight: " + uiSettings.UIElementColor(UIElementType.Highlight);
            lblMsg.Text += Environment.NewLine;
            lblMsg.Text += "HighlightText: " + uiSettings.UIElementColor(UIElementType.HighlightText);
            lblMsg.Text += Environment.NewLine;
            lblMsg.Text += "Hotlight: " + uiSettings.UIElementColor(UIElementType.Hotlight);
            lblMsg.Text += Environment.NewLine;
            lblMsg.Text += "InactiveCaption: " + uiSettings.UIElementColor(UIElementType.InactiveCaption);
            lblMsg.Text += Environment.NewLine;
            lblMsg.Text += "InactiveCaptionText: " + uiSettings.UIElementColor(UIElementType.InactiveCaptionText);
            lblMsg.Text += Environment.NewLine;
            lblMsg.Text += "Window: " + uiSettings.UIElementColor(UIElementType.Window);
            lblMsg.Text += Environment.NewLine;
            lblMsg.Text += "WindowText: " + uiSettings.UIElementColor(UIElementType.WindowText);
            lblMsg.Text += Environment.NewLine;

            AccessibilitySettings accessibilitySettings = new AccessibilitySettings();
            lblMsg.Text += "是否启用了高对比度模式: " + accessibilitySettings.HighContrast; // 是否启用了高对比度模式
        }
    }
}

2、演示与“屏幕方向”相关的知识点

UI/ScreenOrientation.xaml

<Page
    x:Class="XamlDemo.UI.ScreenOrientation"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:XamlDemo.UI"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <Grid Background="Transparent">
        <StackPanel Margin="120 0 0 0">

            <ToggleButton Name="btnLock" Content="锁定当前方向" 

IsChecked="False" Checked="btnLock_Checked_1" Unchecked="btnLock_Unchecked_1" />

            <TextBlock Name="lblMsg" FontSize="14.667" Margin="0 10 0 0" />

        </StackPanel>

    </Grid>
</Page>

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索光标
, 系统
, text
, environment
, 方向
, text decorationa
text()
,以便于您获取更多的相关知识。

时间: 2024-10-29 04:37:47

Windows 8 Store Apps学习(56)系统UI Scale, Snap,Orientation,High Contrast的相关文章

重新想象 Windows 8 Store Apps (56) - 系统 UI: Scale, Snap, Orientation, High Contrast 等

原文:重新想象 Windows 8 Store Apps (56) - 系统 UI: Scale, Snap, Orientation, High Contrast 等 [源码下载] 重新想象 Windows 8 Store Apps (56) - 系统 UI: Scale, Snap, Orientation, High Contrast 等 作者:webabcd 介绍重新想象 Windows 8 Store Apps 之 系统 UI 获取系统的 UI 相关的设置信息 屏幕方向 Snap 为

Windows 8 Store Apps学习(15) 控件 UI: 字体继承

控件 UI: 字体继承, Style, ControlTemplate, SystemReso 介绍 重新想象 Windows 8 Store Apps 之 控件 UI 字体继承 - 继承父辈的 Font 相关的信息 Style - 样式 ControlTemplate - 控件模板 系统资源 - 系统内置的样式资源 VisualState - 视 图状态 VisualStateManager - 视图状态管理器 示例 1.演示字体继承 Controls/UI/FontInherit.xaml

Windows 8 Store Apps学习(14) 控件UI

控件 UI RenderTransform, Projection, Clip, UseLa 介绍 重新想象 Windows 8 Store Apps 之 控件 UI RenderTransform - 变换(用于做位移,旋转,缩放,扭曲等变换) Projection - 映射 Clip - 剪裁并显示 UIElement 的指定区域 UseLayoutRounding - 是否使用完整像素布局 示例 1.演示 RenderTransform 的应用 Controls/UI/RenderTran

重新想象 Windows 8 Store Apps (15) - 控件 UI: 字体继承, Style, ControlTemplate, SystemResource, VisualState, VisualStateManager

原文:重新想象 Windows 8 Store Apps (15) - 控件 UI: 字体继承, Style, ControlTemplate, SystemResource, VisualState, VisualStateManager [源码下载] 重新想象 Windows 8 Store Apps (15) - 控件 UI: 字体继承, Style, ControlTemplate, SystemResource, VisualState, VisualStateManager 作者:w

重新想象 Windows 8 Store Apps (14) - 控件 UI: RenderTransform, Projection, Clip, UseLayoutRounding

原文:重新想象 Windows 8 Store Apps (14) - 控件 UI: RenderTransform, Projection, Clip, UseLayoutRounding [源码下载] 重新想象 Windows 8 Store Apps (14) - 控件 UI: RenderTransform, Projection, Clip, UseLayoutRounding 作者:webabcd 介绍重新想象 Windows 8 Store Apps 之 控件 UI RenderT

Windows 8 Store Apps学习(66) 后台任务: 下载和上传

介绍 重新想象 Windows 8 Store Apps 之 后台任务 后台下载任务 后台上传任务 示例 扩展了 DownloadOperation 和 UploadOperation,以便下载进度或上传进度可通知 BackgroundTask/TransferModel.cs /* * 扩展了 DownloadOperation 和 UploadOperation,以便下载进度或上传进度可通知 */ using System; using System.ComponentModel; usin

Windows 8 Store Apps学习(64) 后台任务: 开发一个简单的后台任务

介绍 重新想象 Windows 8 Store Apps 之 后台任务 开发一个简单的后台任务 示例 1.通过"Windows 运行时组件"新建一个后台任务 BackgroundTaskLib/Demo.cs /* * 后台任务 * * 注: * 后台任务项目的输出类型需要设置为"Windows 运行时组件",其会生成 .winmd 文件,winmd - Windows Metadata */ using System; using System.Threading

Windows 8 Store Apps学习(59) 锁屏

介绍 重新想象 Windows 8 Store Apps 之 锁屏 登录锁屏,获取当前程序的锁屏权限,从锁屏中移除 发送徽章或文本到锁屏 将一个 app 的多个 tile 绑定到锁屏 自定义锁屏图片 示例 1.演示如何登录锁屏,获取当前程序的锁屏权限,从锁屏中移除 LockScreen/AccessLockScreen.xaml <Page x:Class="XamlDemo.LockScreen.AccessLockScreen" xmlns="http://sche

Windows 8 Store Apps学习(57) 本地化和全球化

介绍 重新想象 Windows 8 Store Apps 之 本地化和全球化 本地化 - Demo 本地化 - 改变语言 全球化 - Demo 全球化 - 格式化数字 示例 1.演示本地化的基本应用 Localization/LocalizationDemo.xaml <Page x:Class="XamlDemo.Localization.LocalizationDemo" xmlns="http://schemas.microsoft.com/winfx/2006/