2011-11-01 35 views
1

假設我有一條多段線,並且我希望僅使用動畫將多段線的末端從A移動到B.我應該怎麼做呢?如何使用doubleanimation/pointanimation爲多段線點生成動畫

P/S:我還是喜歡,如果建議是折線而不是如道路等:)

enter image description here

+0

在此刻我將處理transform屬性,但我仍然會很感激關於如何操作點的任何建議。 – Joyce

+0

您是否使用http://msdn.microsoft.com/zh-CN/library/system.windows.media.rotatetransform.aspx RotationTransform? – Tigran

+0

@Tigran是的,我目前正在使用它,但我意識到我不能使用它。起點不斷移動。如果我使用旋轉,它缺乏這種靈活性,因爲起始點將永久存在或直到另一個事件被調用。 (對於錯誤的解釋,我很抱歉,但這是我能表達最好的) – Joyce

回答

2

不可能開箱至於其他控件我知道,因爲您試圖在PointCollection內對Point進行動畫製作。你真正需要的是WPF不提供的PointCollectionAnimation。然而,令人敬畏的Charles Petzold在前段時間寫過this article,向您展示瞭如何去做。

+0

這非常有幫助!它工作得很好,謝謝! – Joyce

+0

鏈接似乎不再工作。 – dotNET

0

由於接受的答案中提到的鏈接不再有效,所以我張貼我的方法。

<Path Stroke="Red"> 
      <Path.Data> 
       <GeometryGroup> 
        <LineGeometry x:Name="G1" StartPoint="100,100" EndPoint="100,0"/> 
       </GeometryGroup> 
      </Path.Data> 
      <Path.Triggers> 
       <EventTrigger RoutedEvent="Loaded"> 
        <BeginStoryboard> 
         <Storyboard>        
          <PointAnimationUsingPath Storyboard.TargetName="G1" Storyboard.TargetProperty="EndPoint"> 
           <PointAnimationUsingPath.PathGeometry> 
            <PathGeometry Figures="M 100,0 C 150,50 200,75 250, 100" /> 
           </PointAnimationUsingPath.PathGeometry> 
          </PointAnimationUsingPath> 
         </Storyboard> 
        </BeginStoryboard> 
       </EventTrigger> 
      </Path.Triggers> 
     </Path>