只是想知道是否有人知道我将如何实现附加/自定义 EndLineCap、StartLineCap 和 LineJoin 属性?
简而言之, LineJoin="Round" 是我想要的,但我需要角度的两侧都是光滑的 - 而不仅仅是更宽的角度侧。
此外,我希望每一端都有一个球,而不是 Rounded EndLineCap 和 StartLineCap(例如,每一端的圆的直径是直线的两倍)。
而不是添加额外的自定义项目,我也许可以通过附加属性来实现这一点,但我不知道从哪里开始。
只是想知道是否有人知道我将如何实现附加/自定义 EndLineCap、StartLineCap 和 LineJoin 属性?
简而言之, LineJoin="Round" 是我想要的,但我需要角度的两侧都是光滑的 - 而不仅仅是更宽的角度侧。
此外,我希望每一端都有一个球,而不是 Rounded EndLineCap 和 StartLineCap(例如,每一端的圆的直径是直线的两倍)。
而不是添加额外的自定义项目,我也许可以通过附加属性来实现这一点,但我不知道从哪里开始。
我不相信有可能做你所要求的。Line Caps 在 WPF 中以非常低的级别实现,似乎几乎没有定制的可能性。
WPF 公开的最低级别的图形 API 是DrawingContext。这提供了类似于DrawLine的方法,它采用Pen对象来指定 LineCap 的绘制方式。您对 LineCaps 的选择仅限于在PenLineCap枚举中公开的那些 - 它不提供“自定义”选项。
说了这么多,可以通过修改几何图形中的路径数据来模拟自定义线帽。这个答案可能会给你一些提示。