我已经使用 定义了一个六边形System.Windows.Shapes.Path
,但是通过应用Stroke
它 ( SolidColorBrush
) 边界会向外和向内。
我怎样才能使中风只应用于我的内部Path
?
我已经使用 定义了一个六边形System.Windows.Shapes.Path
,但是通过应用Stroke
它 ( SolidColorBrush
) 边界会向外和向内。
我怎样才能使中风只应用于我的内部Path
?
您需要使用Clip依赖属性:想法是像这样通过它自己的几何图形来剪辑路径。
<Path ... Clip="{Binding Data, RelativeSource={RelativeSource Self}}"/>
您必须将 StrokeThickness 加倍,因为只有一半的笔划是可见的。
即使它在 silverlight 和 WPF 中运行良好,我在过去使用此代码时也遇到了一些问题(将 Clip 绑定到相关源);我通过添加另一个绑定或简单地通过在代码中分配 Clip 轻松解决了这个问题。
编辑:还要注意,对于裁剪,应该填充 pathGeometry。
裁剪区域是几何体的“外部”。换句话说,显示(未剪辑)的内容是几何图形的区域,如果几何图形用作路径数据而不是剪辑数据,则该几何图形将具有填充。裁剪区域是位于几何叠加之外的任何区域。对于复杂的几何图形,被裁剪或未被裁剪的区域受几何图形的 FillRule 影响。