首页 > 解决方案 > 如何平滑 WindowChrome 的 CornerRadius?

问题描述

我使用 WindowChrome 创建简单的窗口。当我使用 CornerRadius 时,窗口的角落变成了像素阶梯。我如何平滑它?

<WindowChrome.WindowChrome>
    <WindowChrome CornerRadius="15" GlassFrameThickness="0" CaptionHeight="20"></WindowChrome>
</WindowChrome.WindowChrome>

例子

标签: c#wpfwindow-chrome

解决方案


不幸的是,您无法使用该WindowChrome CornerRadius属性对其进行平滑处理。

你可以达到同样的效果,但它需要更多的工作。

您已经提供了一个自定义样式/控件模板,并在 root 上添加了圆角半径Border。然后你需要确保将边框的内容剪辑到你的角半径。

我有一个附加的行为,用于进行剪辑。

你得到了一个非常好的结果,但它需要更多的工作。


推荐阅读