1
使用WPF 3.5我想移動一個畫布,並在完成此動畫後,使用第二個故事板進一步移動它。我有以下幾點:繼續WPF動畫與其他故事板(不是從開始)
<Storyboard x:Key="Move" Completed="OnMoveCompleted" AutoReverse="False" FillBehavior="HoldEnd">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)" Storyboard.TargetName="canvas">
<SplineDoubleKeyFrame KeyTime="0:0:1.5" Value="-50"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
<Storyboard x:Key="Move2" AutoReverse="False">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)" Storyboard.TargetName="canvas">
<SplineDoubleKeyFrame KeyTime="0:0:1.5" Value="-75"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
而且在後面的代碼我得到:
public void OnMoveCompleted(object sender, EventArgs e)
{
var moveStoryboard = (Storyboard)FindResource("Move2");
moveStoryboard.Begin();
}
MOVE2僅移動帆布75 - 50 = 25個像素。我希望畫布先移動50個像素,然後再移動另外75個像素。我認爲它可以工作,因爲FillBehaviour =「HoldEnd」,所以下一個故事板可以與來自第一個故事板的轉換後的Y屬性值一起工作,但似乎第二個故事板僅與初始值一起工作(儘管畫布似乎並不跳回到最初,至少在視覺上)。
除了將轉換放入一個故事板之外,我需要一個解決方案。
我發現是一個的TargetName不能在超過1個故事板,但我希望你找到一個方法。 – Paparazzi
感謝您的回答,但我不認爲這是問題所在。在查看所有相關屬性後,我終於找到了解決方案。我會盡快將其發佈(在發佈問題後8小時處罰) – user764754