C# 如何检查Windows设备是手机还是平板电脑/pc?
如何检查Windows设备是手机还是平板电脑/PC?我需要知道,为了对xaml元素使用不同的大小,我想您可以尝试使用类:C# 如何检查Windows设备是手机还是平板电脑/pc?,c#,windows,windows-runtime,windows-phone-8.1,C#,Windows,Windows Runtime,Windows Phone 8.1,如何检查Windows设备是手机还是平板电脑/PC?我需要知道,为了对xaml元素使用不同的大小,我想您可以尝试使用类: public static bool DeviceIsPhone() { Type StatusBarType = Type.GetType("Windows.UI.ViewManagement.StatusBar, Windows, Version=255.255.255.255, Culture=neutral, PublicKeyToke
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;
}
在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,但您也可以使用响应技术(可视状态和AdaptiveTriggers、RelativePanel等)为窗口大小回流UI,以便同一应用程序可以根据屏幕大小提供不同但适当的视图,而不考虑应用程序运行的设备
查看构建会话以了解更多详细信息。我不知道,但是。。我很确定应该有更好的办法。应该有。这是我找到的唯一功能解决方案
bool IsAPhone()
{
#if WINDOWS_PHONE_APP
return true;
#else
return false;
#endif
}