在动画中画一条线

时间:2011-09-29 12:11:37

标签: silverlight xaml storyboard

我有一个不可见的折线,在画布中包含很多点。

    <Polyline x:Name="plinePath" Stroke="#00000000" StrokeThickness="3">
            <Polyline.Points>
            <Point X="0" Y="0" />
            <Point X="10" Y="10" />
            <Point X="10" Y="20" />
            <Point X="20" Y="20" />
            ...
              ...
               ... 
        </Polyline.Points>
    </Polyline>

现在我需要在运行时渲染该行,就像有人用红色绘制它一样。如果可以的话,我想在故事板中这样做。

有关我如何做到这一点的任何提示?

2 个答案:

答案 0 :(得分:1)

如果折线始终朝向一个大致方向,则可以为附加到 plinePath 的剪裁矩形设置动画,以使其平滑地展开。

与其他“绘制”方法有关的问题是,各个线段需要沿其范围的长度单独调整大小。这不是微不足道的,但可能。关于绘图的恒定速度与插值X&amp;存在问题。需要为每个细分计算Y.基本上取(每个段的)行长度然后在行长度确定的时间内将end-x和end-y线性插值到它们的最终位置。

答案 1 :(得分:0)

行,

我最终做的是创建我自己的customcontrol,其中包含Canvas和Polyline。我的控件有两个主要的公共属性:

  • PathPoints(List<Points>):路径中所有点的列表

  • CurrentPoint(int):显示PathPoints中小于或等于该数字的所有点。

现在,我可以使用基于“CurrentPoint”属性的DoubleAnimation故事板为我的路径设置动画。