我的理解是WPF中的一个基本概念是它与分辨率无关。如果一个物体在一个分辨率下占据1“的正方形,那么它在不同的分辨率下也会占用1”的正方形。
我不确定这里是否有设计考虑因素,但这似乎完全错误。无论是字体,图像还是其他一些视觉实体,它们在更高的分辨率下都会更小。
我怎样才能真正使这个分辨率独立?看起来像Windows Forms一样,它使用像素,并且随着像素密度的变化,图形实体的真实大小也会发生变化。
答案 0 :(得分:3)
您可能误解了WPF对“独立性”的定义。在this MSDN forum thread中详细讨论了该主题,并包含来自Microsoft MVP Charles Petzold的输入:
WPF程序[sic]想要在屏幕上绘制标尺。它吸引了96 每英寸单位。
在所有这些情况下,对于任何特定的机器,标尺都是正确的 尺寸相同,尺寸与显示的尺子尺寸相同 微软Word。当然尺子的大小不同 不同的机器。将机器连接到高射投影仪和 尺子上的英寸更像是脚!
简而言之,由于应用程序无法识别显示设备的物理特性(如何知道单个像素是方形千分尺还是实际尺寸的平方英寸?),你不能使您的应用程序“真正”独立于分辨率,而不是根据您的定义。
来自链接线程(强调我的)的Tim Dawson:你不会以某种方式“修复”用户玩游戏的困境 硬件设置太多,以至于您的应用看起来不太合适。 尽管如此,WPF在解决这个问题方面还有很长的路要走。