【问题标题】:Remove a StackPanel / Grid Unwanted Default Border?删除 StackPanel / Grid 不需要的默认边框?
【发布时间】:2010-09-23 18:19:33
【问题描述】:

我正在 Visual Studio 2010 中设计 UI,但遇到了一个小问题。我对 XAML 和这种设计方法相当陌生,所以这可能是一个新手错误。我环顾四周,但似乎找不到类似问题的参考。

基本上,我有一个 2 行的网格,其中一个包含一个堆栈面板和 5 列。堆栈面板位于列的后面,用于绘制整行的背景。当我向另一行添加背景颜色时,我在堆栈面板的顶部看到一条令人讨厌的线,看起来不合适。我尝试了几件事(showGridLines = false、透明边框等),但似乎无法摆脱它。展示它的最佳方式是通过图片:

http://img227.imageshack.us/img227/2220/tempym.jpg

我注意到一个奇怪的现象是,当我调整窗口大小时,在某些点上线条会消失。显然这不是一个解决方案(尤其是因为它将全屏运行),但增加了行的神秘感......

这是一个微不足道的问题,但它让我很烦恼,并且会继续这样做,直到我可以摆脱它,所以任何帮助将不胜感激。为简单起见,我省略了 xaml,但如果需要,我会发布。

【问题讨论】:

    标签: c# visual-studio-2010 xaml grid stackpanel


    【解决方案1】:

    根据您注意到的奇怪情况,尝试在网格或窗口上将 SnapsToDevicePixels 设置为 true。听起来边界落在像素边界之间并且正在消除锯齿。

    或者更确切地说,如果您使用的是 .NET 4.0,请改用 UseLayoutRounding

    【讨论】:

    • 我应该补充一点,如果您使用的是 .NET 4.0,似乎是这种情况,您应该改用 UseLayoutRounding
    • 完成。您是否建议也保留 SnapsToDevicePixels?
    • 如果你使用UseLayoutRounding,我认为你应该省略SnapsToDevicePixels。根据note in the reference,它“是首选方法”,并将其视为替代方法。
    猜你喜欢
    • 2021-06-20
    • 2013-06-20
    • 1970-01-01
    • 2015-07-08
    • 2015-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-10
    相关资源
    最近更新 更多