相关疑难解决方法(0)

如何将WPF大小转换为物理像素?

将WPF(与分辨率无关的)宽度和高度转换为物理屏幕像素的最佳方法是什么?

我在WinForms表单中显示WPF内容(通过ElementHost),并试图找出一些大小调整逻辑.当操作系统以默认的96 dpi运行时,我的工作正常.但是当操作系统设置为120 dpi或其他分辨率时,它将无法工作,因为就WinForms而言,报告其宽度为96的WPF元素实际上将是120像素宽.

我在System.Windows.SystemParameters上找不到任何"每英寸像素数"设置.我确信我可以使用WinForms等效(System.Windows.Forms.SystemInformation),但是有更好的方法吗(阅读:使用WPF API的方式,而不是使用WinForms API并手动进行数学运算)?将WPF"像素"转换为真实屏幕像素的"最佳方法"是什么?

编辑:我也希望在屏幕上显示WPF控件之前执行此操作.看起来像Visual.PointToScreen可以给我正确的答案,但我不能使用它,因为控件还没有父级,我得到InvalidOperationException"这个Visual没有连接到PresentationSource".

wpf dpi elementhost

36
推荐指数
3
解决办法
4万
查看次数

让WPF应用程序忽略DPI设置

我有一个专为1900x1200分辨率设计的wpf应用程序,但是我们的一些用户使用了Windows显示设置来调整所有内容的125%-150%,有没有办法让应用程序忽略这些设置并仍能正常显示?

我在这里看到了一些名为SetProcessDPIAware的东西,但没有任何运气.

这是应用程序的屏幕截图,显示比例调高至150% 应用缩放

正如您所看到的,应用程序太小,无法使其正确调整大小.

c# wpf dpi

8
推荐指数
1
解决办法
5806
查看次数

WPF用于液晶屏全高清

我正在开发一个WPF应用程序,它将以全高清LCD屏幕(42英寸)显示.另外,我需要在绝对位置容纳控件.在开发环境中,我看不到长度为1920x1080的窗口(这是目标屏幕的固定分辨率).

完成此任务的最佳做法是什么?

wpf canvas lcd viewbox scaletransform

2
推荐指数
1
解决办法
6322
查看次数

标签 统计

wpf ×3

dpi ×2

c# ×1

canvas ×1

elementhost ×1

lcd ×1

scaletransform ×1

viewbox ×1