UIViewSettings 类

定义

表示与设备模式关联的 UI 状态和行为, (平板电脑或桌面) 和输入设备类型。

public ref class UIViewSettings sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class UIViewSettings final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class UIViewSettings
Public NotInheritable Class UIViewSettings
继承
Object Platform::Object IInspectable UIViewSettings
属性

Windows 要求

设备系列
Windows 10 (在 10.0.10240.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)

示例

下面介绍如何检测和响应用户交互模式。

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

namespace SDKTemplate
{
    public sealed partial class Scenario1_Basic : Page, INotifyPropertyChanged
    {
        private MainPage rootPage;

        public Scenario1_Basic()
        {
            this.InitializeComponent();
        }

        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            rootPage = MainPage.Current;

            // The SizeChanged event is raised when the
            // user interaction mode changes.
            Window.Current.SizeChanged += OnWindowResize;
            UpdateContent();
        }

        protected override void OnNavigatedFrom(NavigationEventArgs e)
        {
            Window.Current.SizeChanged -= OnWindowResize;
        }

        void OnWindowResize(object sender, WindowSizeChangedEventArgs e)
        {
            UpdateContent();
        }

        public event PropertyChangedEventHandler PropertyChanged;

        #region InteractionMode data binding
        private UserInteractionMode interactionMode;

        public UserInteractionMode InteractionMode
        {
            get { return interactionMode; }
            set
            {
                if (interactionMode != value)
                {
                    interactionMode = value;
                    if (PropertyChanged != null)
                    {
                        PropertyChanged(this, 
                            new PropertyChangedEventArgs("InteractionMode"));
                    }
                }
            }
        }

        #region CheckBoxStyle data binding
        private Style checkBoxStyle;

        public Style CheckBoxStyle
        {
            get { return checkBoxStyle; }
            set
            {
                if (checkBoxStyle != value)
                {
                    checkBoxStyle = value;
                    if (PropertyChanged != null)
                    {
                        PropertyChanged(this, 
                            new PropertyChangedEventArgs("CheckBoxStyle"));
                    }
                }
            }
        }

        void UpdateContent()
        {
            InteractionMode = 
                UIViewSettings.GetForCurrentView().UserInteractionMode;

            // Update styles
            CheckBoxStyle = 
                InteractionMode == 
                    UserInteractionMode.Mouse ? 
                        MouseCheckBoxStyle : TouchCheckBoxStyle;
        }
    }
}

注解

若要获取此类的实例,请调用 GetForCurrentView

平板电脑模式仅 (Windows 10)

注意

在Windows 11,将删除平板电脑模式,并包含用于键盘连接和分离姿势的新功能。

(电脑、笔记本电脑、平板电脑) 的某些设备同时支持台式机和 平板电脑 模式。

仅Windows 10,用户可以通过转到“设置系统>平板电脑模式”和设置“>使 Windows 在将设备用作平板电脑时更便于触摸”,在平板电脑模式下切换运行。

属性

UserInteractionMode

获取一个值,该值指示设备 UI 是针对触摸输入还是鼠标输入进行优化。

方法

GetForCurrentView()

获取与设备模式关联的 UI 状态和行为, (活动应用的平板电脑或桌面) 。

平板电脑模式仅 (Windows 10)

注意

在Windows 11,将删除平板电脑模式,并包含用于键盘连接和分离姿势的新功能。

(电脑、笔记本电脑、平板电脑) 的某些设备同时支持台式机和 平板电脑 模式。

仅Windows 10,用户可以通过转到“设置系统>平板电脑模式”和设置“>使 Windows 在将设备用作平板电脑时更便于触摸”,在平板电脑模式下切换运行。

适用于

另请参阅