如何判断Windows设备是手机还是平板电脑/pc

本文关键字:手机 平板电脑 pc 何判断 判断 Windows | 更新日期: 2023-09-27 17:54:25

如何查看Windows设备是手机还是平板电脑/PC?我需要知道为了给xaml元素使用不同的大小

如何判断Windows设备是手机还是平板电脑/pc

我认为你可以尝试使用EasClientDeviceInformation类:

EasClientDeviceInformation info = new EasClientDeviceInformation();
string system = info.OperatingSystem;

在WP上,它应该返回WindowsPhoneWindows在桌面

你不应该根据手机或平板电脑使用不同大小的Xaml。您应该根据屏幕的大小和分辨率使用不同的Xaml。

在Windows 8.1上有足够的Xaml差异,你可能需要为手机和PC/平板电脑做不同的事情,但在这种情况下,你通常会为两个项目使用不同的Xaml文件。你也可以使用手机和PC/平板电脑特定样式的两个版本的资源字典,并将它们放置在特定平台的项目中,以便在每个设备上获得不同的行为。

如果你真的想从代码中了解这一点,在8.1中,你总是使用不同的二进制文件用于手机和平板电脑:你可以用编译时常量编译它:

bool IsAPhone()
{
#if WINDOWS_PHONE_APP
    return true;
#else
    return false;
#endif
}

在Windows 10上,你将使用相同的二进制文件和相同的Xaml API,并且相同的设备可能同时显示在小屏幕(手机)和大屏幕上。

虽然你仍然可以使用单独的Xaml文件来为不同的设备定制UI,你也可以使用响应技术(Visual States和AdaptiveTriggers, RelativePanels等)来为窗口大小回流UI,因此相同的应用程序可以根据屏幕大小提供不同但适当的视图,而不管应用程序运行在什么设备上。

查看Build session Design: UX Patterns and Responsive Techniques for Universal Windows Apps获取更多细节

    public static bool DeviceIsPhone()
    {
        Type StatusBarType = Type.GetType("Windows.UI.ViewManagement.StatusBar, Windows, Version=255.255.255.255, Culture=neutral, PublicKeyToken=null, ContentType=WindowsRuntime");
        if (StatusBarType != null)
            return true;
        return false;
    }