【发布时间】:2022-06-28 22:43:56
【问题描述】:
【问题讨论】:
标签: wpf xaml sizetocontent
【问题讨论】:
标签: wpf xaml sizetocontent
答案就是在父窗口中设置UseLayoutRounding="True" 属性。谢谢@thatguy!
【讨论】:
这些伪影有时是由于尺寸不适合像素边界而出现的。您可以通过在根元素上将UseLayoutRounding 设置为true 或将SnapsToDevicePixels 设置为子控件来减轻影响。来自documentation:
当元素的
UseLayoutRounding属性为true时,在Measure和Arrange传递期间计算的所有非整数像素值将四舍五入为整数像素值。 [...] 当边缘落在设备像素的中间时,在像素边界上绘制对象会消除由抗锯齿产生的半透明边缘。
在您的代码中,您可以将其设置为根Window,如下所示:
<Window ...
UseLayoutRounding="True">
请注意,UseLayoutRounding 和 SnapsToDevicePixels 并不完全相同。选择最适合您要求的。以下是后者的进一步阅读来源:
【讨论】: