2010-08-31 63 views
0

我目前正试图与使用WPF在C#中的进度指示器写的应用程序:WPF:创建动态进度指示器

<Path Canvas.Left="15" Canvas.Top="50" Stroke="Red" StrokeThickness="6" Data=" M 700,100 L 620,100 C 620,100 600,100 600,80 L 600,50 C 600,50 600,30 580,30 L 50,30 L 50,340 L 580,340 C 580,340 600,340 600,320 L 600,290 C 600,290 600,270 620,270 L 700,270" Name="Progress" StrokeDashCap="Flat" StrokeEndLineCap="Round" StrokeLineJoin="Round" StrokeStartLineCap="Round" StrokeMiterLimit="30"> 

image http://img839.imageshack.us/my.php?image=20100831180406.png

到目前为止,指标完成。但是我没有任何可能降低指标的长度。我可以使用其他坐标重绘指标,但这会很复杂(想想圆形部分)。此外,我不能用白色覆盖它,因为它背景图像必须是透明的。

有没有人有关于如何实现我想要的想法?或者指出另一种可能的解决方案?

最好的问候, 乔纳斯

回答

0

我不知道如果我理解你想要什么,但是这是我想尝试

  1. 其分解成3列,在每一个路径柱。第一列有左边缘的路径..中间的列将只有顶部/底部并且将伸展,右边的列将包含右边的曲线/等。
  2. 创建一个半径与内角相同的矩形,并放入第2列。
  3. 通过更新矩形的宽度来显示进度。

这种方法只会填补瓶颈指示器的进展。