如何判断Windows设备是手机还是平板电脑/pc
本文关键字:手机 平板电脑 pc 何判断 判断 Windows | 更新日期: 2023-09-27 17:54:25
如何查看Windows设备是手机还是平板电脑/PC?我需要知道为了给xaml元素使用不同的大小
我认为你可以尝试使用EasClientDeviceInformation类:
EasClientDeviceInformation info = new EasClientDeviceInformation();
string system = info.OperatingSystem;
在WP上,它应该返回WindowsPhone
和Windows
在桌面
你不应该根据手机或平板电脑使用不同大小的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;
}