0

如果我在 xamlpadx (500%) 中放大到足够大,我会看到边框内部的线条。在我的应用程序中,这甚至发生在某些控件的正常缩放级别。

为什么这是更重要的,我能做些什么呢?

这是我的 XAML 代码:

<Border Background="#000000" BorderBrush="#000000" BorderThickness="4" CornerRadius="4">    
   <StackPanel>               
   </StackPanel>
</Border>

我删除了所有内容,直到确定有缺陷的显示中不涉及填充/边距/边框。

编辑2: 我不应该这么快接受答案。我注意到在相同的情况下,错误与以前一样,尽管我使用了 SnapsToDevicePixels 并将控件的内部颜色设置为与边框相同的颜色。我希望微软能尽快解决这个问题!

4

3 回答 3

5

我有同样的行为,我认为这是 WPF 渲染引擎的错误。通过添加边框,您可以获得更好的结果SnapsToDevicePixels="True":白线仅保留在圆角中。

于 2009-11-05T08:51:34.270 回答
1

这确实似乎是 WPF 中的一个错误。但是,对于您的具体情况,您可以使用两种解决方法:

<Border Background="#000000" BorderThickness="0" CornerRadius="4">
   <StackPanel Margin="4">               
   </StackPanel>
</Border>

或者

<Border Background="#000000" BorderThickness="0" CornerRadius="4">
   <Border Background="#000000" BorderThickness="0" CornerRadius="4" Margin="4">
       <StackPanel>               
       </StackPanel>
    </Border>
</Border>
于 2009-11-16T15:00:51.027 回答
1

这种行为是 WPF 工作方式所固有的。这不是一个错误。请注意,您的坐标都是双精度数,而不是整数:这些不是精确单位。如果你放大到足够大,你会看到错误。

以下是大约一年前的记忆,但我认为它是正确的:

如果您要手动绘制到 wpf 渲染上下文,则可以使用“指南”系统使事物对齐。这就是为股票 UI 样式绘制按钮和事物的方式。看看参考源(http://blogs.msdn.com/rscc/default.aspx),你可以自己看看。一般来说,关于这个主题还有一个很好的 msdn 页面:http: //msdn.microsoft.com/en-us/library/aa970908.aspx

于 2009-11-17T01:49:33.780 回答