UWP 区分设备类型

Posted hupo376787

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UWP 区分设备类型相关的知识,希望对你有一定的参考价值。

在写UWP应用时,通常会需要在代码里面判断当前是什么设备类型,以便在不同的设备上显示出不同的效果或者内容。

1. 通常我们都知道如何在C#代码里面去判断

public static DeviceFormFactorType GetDeviceFormFactorType()
        {
            switch (AnalyticsInfo.VersionInfo.DeviceFamily)
            {
                case "Windows.Mobile":
                    return DeviceFormFactorType.Phone;
                case "Windows.Desktop":
                    return UIViewSettings.GetForCurrentView().UserInteractionMode == UserInteractionMode.Mouse
                        ? DeviceFormFactorType.Desktop
                        : DeviceFormFactorType.Tablet;
                case "Windows.IoT":
                    return DeviceFormFactorType.IoT;
                case "Windows.Team":
                    return DeviceFormFactorType.SurfaceHub;
                case "Windows.Xbox":
                    return DeviceFormFactorType.Xbox;
                case "Windows.Holographic":
                    return DeviceFormFactorType.Holographic;
                default:
                    return DeviceFormFactorType.Other;
            }
        }

 

2. Windows Community Toolkit也提供了一个简单粗暴的封装方式

using Microsoft.Toolkit.Uwp.Helpers;

// To get device family
public string DeviceFamily => SystemInformation.DeviceFamily;

 

3. XAML代码里面判断,也是Windows Community Toolkit提供的可以在XAML代码中直接使用的方式

xmlns:markup="using:Microsoft.Toolkit.Uwp.UI.Extensions.Markup"

<TextBlock Text="{markup:OnDevice Desktop=Desktop, Xbox=Xbox, Default=Default}" />

以上是关于UWP 区分设备类型的主要内容,如果未能解决你的问题,请参考以下文章

UWP/C# - AQS 和 USB 设备的问题

如何在xamarin PCL中区分winphone和UWP

通过 Windows 10 uwp 上的代码重新启动

iOS区分不同类型设备,加载不同的Window

从 C# 控制台应用程序枚举 UWP MIDI API 设备?

UWP 应用获取各类系统用户信息 - 设备和系统的基本信息应用包信息用户数据账户信息和用户账户信息