Windows 10 获取可用屏幕大小

Windows 10 获取可用屏幕大小,windows-10,uwp,Windows 10,Uwp,如何获得Win 10 UWP上应用程序可调整到的最大屏幕大小 还可以检测应用程序是最大化还是在手机/平板电脑模式下运行,还是在窗口模式下运行?没有“最大大小”本身。新闻中提到了Windows 10对8K分辨率(7680*4320)的支持,因此这接近您将看到的“最大尺寸”,在不久的将来肯定不会成为常见的显示尺寸 请记住,通用Windows应用程序和Windows 8应用商店应用程序将窗口大小表示为逻辑大小和DPI的组合。使用以下数学方法将其转换为物理像素: // Converts a length

如何获得Win 10 UWP上应用程序可调整到的最大屏幕大小


还可以检测应用程序是最大化还是在手机/平板电脑模式下运行,还是在窗口模式下运行?

没有“最大大小”本身。新闻中提到了Windows 10对8K分辨率(7680*4320)的支持,因此这接近您将看到的“最大尺寸”,在不久的将来肯定不会成为常见的显示尺寸

请记住,通用Windows应用程序和Windows 8应用商店应用程序将窗口大小表示为逻辑大小和DPI的组合。使用以下数学方法将其转换为物理像素:

// Converts a length in device-independent pixels (DIPs) to a length in physical pixels.
inline float ConvertDipsToPixels(float dips, float dpi)
{
    static const float dipsPerInch = 96.0f;
    return floorf(dips * dpi / dipsPerInch + 0.5f); // Round to nearest integer.
}

有关显示的信息可从WinRT类
DisplayInformation
中获得,您可以使用
ApplicationView

控制“模式”的某些方面,这是一个好主意:检查应用程序是否在手机/平板电脑/pc上运行您可以使用自定义的VisualStateTriggers并家族式检查设备。网上有一些样品

也许有帮助

应用程序可以调整的最大大小(即“工作区”,即屏幕大小减去任务栏)?没有办法得到这个信息

注意:您可以调用ApplicationView.GetForCurrentView().TryResizeView(新大小(500500))以编程方式调整大小。但这不会比工作区域的大小更大

是否可以检测应用程序处于何种模式

UIViewSettings.GetForCurrentView.UserInteractionMode显示您是处于“鼠标模式”(窗口)还是“触摸模式”(手机/平板电脑)

ApplicationView.GetForCurrentView.TryEnterFullScreenMode()将尝试将您置于全屏模式(在桌面上,这意味着您的应用程序是全屏的,没有任务栏;在手机上,这意味着没有状态栏和“软导航按钮”)。您还可以调用ExitFullScreenMode()。属性IsFullScreenMode将显示您是否通过该API进入了全屏模式。(还有另一个不推荐使用的API,名为“IsFullScreen”,您不应该使用)


我不知道如何检测它是否最大化。

.GetForCurrentView()。可以帮助您检测应用程序是否处于全屏模式。我想这就是您需要的。

如果显示器是集成的(手机、平板电脑、笔记本电脑),您可以使用它来计算显示器的大小。不幸的是,在多显示器场景中,它不会告诉您是否在集成显示器上。虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接以供参考。如果链接页面更改,仅链接的答案可能会无效。谢谢。我会考虑的