WPF - 具有百分比值的StrokeDashArray

时间:2015-10-02 13:57:47

标签: c# wpf drawing

使用WPF时,可以使用StrokeDashArray="1,10,5,5"等绘制StrokeDashArrays。

但是,我在椭圆形状上使用StrokeDashArray-Property,并且我不想在绘制此椭圆时计算所有双精度值。

是否有可能以某种方式使用百分比值?
StrokeDashArray="10%, 50%, 25%, 15%" ...

这样的东西

<小时/> 编辑:我忘了在此上下文中添加percentage的定义:完整行的百分比。

例如:如果您有一个半径为100px的圆/椭圆,则圆周为2π * 100,值10%2π * 100px * 0.1 = 62.8px。这些62.8px应该是相应段的长度,由10%

表示

1 个答案:

答案 0 :(得分:1)

绑定到Width的{​​{1}}属性并使用转换器来计算笔触虚线阵列。如果Ellipse不是一个圆圈,我不确定在那种情况下你想要发生什么......

Ellipse

转换器:

<Ellipse StrokeDashArray="{Binding Width, RelativeSource={RelativeSource Self}, Converter={StaticResource EllipseStrokeConverter}}" Width="100" Height="100"/>