使用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%
答案 0 :(得分:1)
绑定到Width
的{{1}}属性并使用转换器来计算笔触虚线阵列。如果Ellipse
不是一个圆圈,我不确定在那种情况下你想要发生什么......
Ellipse
转换器:
<Ellipse StrokeDashArray="{Binding Width, RelativeSource={RelativeSource Self}, Converter={StaticResource EllipseStrokeConverter}}" Width="100" Height="100"/>