WPF:创建动态进度指示器

时间:2010-08-31 18:29:52

标签: c# wpf dynamic progress indicator

我目前正在尝试使用WPF在C#中编写带有进度指示器的应用程序:

<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

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

有没有人知道如何实现我的目标?或者指出另一种可能的解决方案?

最好的问候, 纳斯

1 个答案:

答案 0 :(得分:0)

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

  1. 将其拆分为3列,每列中都有一个路径。第一列是左边缘的路径..中间列​​只有顶部/底部并且将拉伸,右列将包含右边的曲线/等。
  2. 创建一个半径与内角相同的矩形,并将其放在第二列中。
  3. 通过更新矩形的宽度来显示进度。
  4. 这种方法只能填补你所制造的瓶状指示器的“颈部”的进度。