共用方式為


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 設為更容易觸控,在平板電腦模式和桌面圖案中執行之間切換。

適用於

另請參閱