【问题标题】:How can I overlay a triangle shaped graphic on the upper left of a WPF window?如何在 WPF 窗口的左上角覆盖三角形图形?
【发布时间】:2012-04-03 00:27:12
【问题描述】:

我试图弄清楚如何在我的主窗口应用程序上进行 UI 设计,如下所示:

基础对象是一个 DockPanel - 我知道我可以设置 DockPanel 背景以在其中设置图形,但 Top Dock 区域始终覆盖背景的三角形区域。我不知道如何将包含按钮的顶部 Dock 区域设置为“隐藏”在三角形图形后面。有人知道实现这种效果的好技术吗?

【问题讨论】:

    标签: wpf


    【解决方案1】:

    您可以使用带有一行的网格来在顶部包含您的按钮栏,并使用一列来约束三角形元素。就我个人而言,我会将三角形区域和按钮栏分开控制。

    看看这个答案,我几个月前在另一个问题上提出了类似的最终结果: How to get this window layout in WPF?

    【讨论】:

    • 感谢 CodeWarrior。不错的技术,但在我看到 Chen 的答案之前,我无法让它按照我想要的方式工作,这在我的应用程序的当前结构中更容易实现。
    • 关于如何为三角形边缘生成阴影效果的任何想法?
    • 右下角 - 你可以在我发布的截图中看到阴影。
    【解决方案2】:

    扩展 CodeWarrior 答案,将 DockPanel 放在网格内,并将三角形作为具有更高 z 索引的网格的另一个子元素,您可以使用 rows 和 cols 或仅使用垂直和水平对齐。

    【讨论】:

    • 很好的建议。易于实现,无需更改我的应用程序中已经存在的结构。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-01
    • 2019-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多