2012-12-05 19 views
0

我有一個示例故事板,我只想知道如何使用代碼實現但是我很難搞清楚。這裏是WPF/XAML,任何指針將不勝感激。如何將WPF故事板代碼轉換爲VB.NET或C#.NET,以便將來可以在代碼中創建故事板

<Window x:Class="MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    AllowsTransparency="True" 
     WindowStyle="None" 
    Title="MainWindow" Height="350" Width="525" Background="Transparent" Topmost="True" WindowState="Maximized" ResizeMode="NoResize"> 
    <Canvas Name="canvas1"> 
     <Button Canvas.Left="145" Canvas.Top="155" Content="Button" Height="23" Name="Button1" Width="75"> 
      <Button.Triggers> 
       <EventTrigger RoutedEvent="Button.MouseEnter"> 
        <BeginStoryboard> 
         <Storyboard> 
          <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="Button1" Storyboard.TargetProperty="Width" AutoReverse="true" RepeatBehavior="Forever"> 
           <SplineDoubleKeyFrame KeyTime="00:00:00" Value="100"/> 
           <SplineDoubleKeyFrame KeyTime="00:00:05" Value="300"/> 
           <SplineDoubleKeyFrame KeyTime="00:00:10" Value="100"/> 
          </DoubleAnimationUsingKeyFrames> 
          <DoubleAnimation 
       Storyboard.TargetName="Button1" 
       Storyboard.TargetProperty="(Canvas.Left)" 
       From="100" To="600" Duration="0:0:10" AutoReverse="true" RepeatBehavior="Forever"/> 
          <DoubleAnimation 
       Storyboard.TargetName="Button1" 
       Storyboard.TargetProperty="(Canvas.Top)" 
       From="100" To="600" Duration="0:0:10" AutoReverse="true" RepeatBehavior="Forever"/> 
         </Storyboard> 
        </BeginStoryboard> 
       </EventTrigger> 
      </Button.Triggers> 
     </Button> 
    </Canvas> 
</Window> 
+1

有一個在[MSDN](http://msdn.microsoft.com/en-us/library/system.windows.media一個完整的例子。 animation.storyboard.aspx) – Clemens

回答

1

你到目前爲止試過了什麼?你有什麼問題?

有此頁面上的一些很好的例子:http://www.galasoft.ch/mydotnet/articles/article-2006102701.aspx

+0

謝謝!這確實有幫助,但我仍然在試圖弄清楚如何聲明關鍵幀,本文不提供幫助。 – volderArt

+0

這個答案也能幫助你嗎?當然,您必須聲明關鍵幀並將其添加到動畫中(而不是在資源中查找它們),但第一個答案顯示瞭如何從時間窗格設置基本關鍵幀。 http://stackoverflow.com/questions/3426596/update-a-lineardoublekeyframe-keytime-value-from-code – Joe