2010-12-05 89 views
4

問候WPF - 動畫用戶控件

我目前在WPF中做一個應用程序,因爲我對WPF相當陌生我遇到了一些困難。我搜索了我的問題,但沒有取得很大的成功。這是目前的情況,下面主窗口的XAML:

<Grid Height="279" HorizontalAlignment="Left" Margin="166,0,0,0" Name="gridScoreboard" VerticalAlignment="Top" Width="808"> 
    <!--Scoreboard Image--> 
    <Image Source="pack://application:,,,/Images/Style/Scoreboard.png" Width="517" Height="91" HorizontalAlignment="Left" Margin="138,1,0,0" Name="image1" Stretch="Fill" VerticalAlignment="Top" /> 

    <Canvas Name="canvasRacePlayer1" Width="14" Height="14" Canvas.Left="33" Canvas.Top="66" Background="Transparent" MouseLeftButtonDown="canvasRacePlayer1_MouseLeftButtonDown" Margin="171,70,623,195" /> 
    <local:ucRaces HorizontalAlignment="Center" Margin="93,62,632,187" Width="78" Visibility="Hidden" x:Name="ucRacesP1" Height="33" /> 
</Grid> 

用戶控制是從開始(ucRaces)隱藏,一旦小畫布(canvasRacePLayer1)被點擊的用戶控制將被顯示。不過,我希望這個用戶控件能夠從某個點向右「滑動」。就好像它會以小步驟顯現。我發現矩形和按鈕的動畫信息,但對用戶控件沒有成功。

預先感謝您

回答

3

如果您要爲您的WPF項目創建動畫,我建議您使用Expression Blend。您可以使用EB設計程序並使用Visual Studio實現它的功能。很難製作動畫,編寫XAML語法或C#代碼。

您將如何使用EB爲您的用戶控件設置動畫效果?那麼,它其實很簡單。您需要先打開現有的WPF項目。然後,轉到文件 - >新建項目 - >用戶控制,並創建用戶控件。然後,如果要將其添加到項目中,請切換回當前在EB中打開的WPF項目,然後單擊位於屏幕左側工具欄上的右箭頭(>>),然後轉到Project - > [您的用戶控制]。現在您已將它添加到您的項目中。

如果要爲用戶控件設置動畫,您必須將StoryBoard添加到時間軸。當您在EB中的WPF項目中時,在對象和時間線下,單擊加號(+)並添加一個新的StoryBoard。現在,您需要使用一個時間軸來動畫用戶控件。您可以在時間線上放置KeyTime屬性,並定義用戶控件應該從位置A到位置B的路徑,以及如果希望用戶控件逐漸變爲可見,則還需要不透明度級別。

您可以添加一個用戶控件併爲第二個用戶實現其邏輯。 Expression Blend會讓你的生活更輕鬆。

0

動畫您的UserControl不應該是從動畫任何其他WPF對象很大的不同:您可以動畫保證金(使用ThicknessAnimation),或刪除您的用戶控件成畫布其擁有,然後動畫您的用戶控件的Canvas.Left屬性。在後一種情況下,請注意將屬性名稱放在括號內:Storyboard.TargetProperty="(Canvas.Left)"

+0

你能提供C#代碼嗎? – 2011-11-18 11:22:08