【问题标题】:Weird lines inside window when property SizeToContent is set设置属性 SizeToContent 时窗口内出现奇怪的线条
【发布时间】:2022-06-28 22:43:56
【问题描述】:

当我在我的窗口中设置SizeToContent="WidthAndHeight" 属性时,WPF 会在我的窗口周围呈现奇怪的线条:

有什么办法可以避免这种情况吗?

【问题讨论】:

    标签: wpf xaml sizetocontent


    【解决方案1】:

    答案就是在父窗口中设置UseLayoutRounding="True" 属性。谢谢@thatguy!

    【讨论】:

      【解决方案2】:

      这些伪影有时是由于尺寸不适合像素边界而出现的。您可以通过在根元素上将UseLayoutRounding 设置为true 或将SnapsToDevicePixels 设置为子控件来减轻影响。来自documentation

      当元素的UseLayoutRounding 属性为true 时,在MeasureArrange 传递期间计算的所有非整数像素值将四舍五入为整数像素值。 [...] 当边缘落在设备像素的中间时,在像素边界上绘制对象会消除由抗锯齿产生的半透明边缘。

      在您的代码中,您可以将其设置为根Window,如下所示:

      <Window ...
              UseLayoutRounding="True">
      

      请注意,UseLayoutRoundingSnapsToDevicePixels 并不完全相同。选择最适合您要求的。以下是后者的进一步阅读来源:

      【讨论】:

        猜你喜欢
        • 2013-04-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多