为什么我的WPF GroupBox看起来很奇怪?

6

我的应用程序中没有设置任何样式! alt text

更新: alt text


你能否在一个简单的应用程序中重现这个问题?如果可以,请发布该应用程序。 - Preet Sangha
也许您正在使用一个覆盖了GroupBox默认样式的主题。 - Pragmateek
这个输出是在哪个操作系统下,XP/Vista/win7? - Kishore Kumar
我已经更新了问题,屏幕截图中包含XAML示例。没有其他文件设置样式。这只是一个测试项目,只有一个窗口。 - Elisabeth
1个回答

11

根据这篇文章,看起来这似乎是默认行为,至少在Windows 7下是这样。

看起来GroupBox边框实际上会得到额外的内外两层白色边框:只需尝试增加BorderThickness即可了解我的意思。

此外,将其与另一控件(例如Label)进行比较,并注意当你定义该控件的边框时(即使是圆角边框),也没有白色“阴影”。

就我所知,如果需要解决此问题,则唯一的方法是自己为GroupBox定义ControlTemplate。上面发布的链接包含一个很好的示例:请注意答案在周围Borders上设置BorderBrushTransparent

有关自定义模板的规范示例可以在GroupBox MSDN文档中找到

(关于不相关的内容,示例中的BorderGapMaskConverter非常有趣-这就是GroupBox知道如何将标题下面的边框呈现为透明的方式......很棒。 :))


关于您的 MSDN 链接,没有任何 MSFT 给出答案。当然,我非常认为这是一个 Windows 7 的 bug...该死,我完全忘记了这个赏金,因为我最近用自己的控件模板解决了这个问题 :P 好吧,至少你知道如何使用 Google 并且可以省去我一半的 SO 生活 :/ 谢谢伙计 ;-) - Elisabeth
感谢指出 BorderGapMaskConverter!确实很有趣! - Patrick Klug
作为一个WPF新手,有人能解释一下我应该如何使用这个模板吗? - BigSandwich
找到一篇不错的文章: http://msdn.microsoft.com/zh-cn/library/ee230084%28v=vs.110%29.aspx - BigSandwich

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接