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