我可以指定内部的边框吗?

时间:2013-05-13 18:47:33

标签: c# windows-phone-7

我使用System.Windows.Shapes.Path定义了一个六边形,但是通过将Stroke应用于它(SolidColorBrush),边框会在外部和内部。

我怎样才能使笔画仅应用于Path的内部?

1 个答案:

答案 0 :(得分:0)

您需要使用Clip依赖项属性:我们的想法是按照自己的几何体来剪切路径。

<Path ... Clip="{Binding Data, RelativeSource={RelativeSource Self}}"/>

你必须加倍StrokeThickness,因为只有一半的笔画是可见的。

即使它在silverlight和WPF中运行良好,我在过去也遇到过一些问题(将Clip绑定到相关源);我通过添加另一个绑定或简单地通过在代码中分配Clip来轻松解决这个问题。

编辑: 另请注意,对于剪切,应填充pathGeometry。

  

剪裁区域是几何体的“外部”。换句话说,   显示(未剪裁)的内容是几何体的区域   如果将几何图形用作a的数据,否则会有填充   路径而不是剪辑。修剪区域是任何落下的区域   在几何体覆盖之外。对于复杂的几何形状,那些区域   剪裁或不剪裁受几何体的FillRule影响。