2

コードビハインドを使用してアニメーションを開始するための基礎としてこれを使用しています。記事の内容に基づいて、次のことがわかりました。

<Window.Resources>
    <Storyboard x:Key="sbdLabelRotation">
        <DoubleAnimation
          Storyboard.TargetName="lblHello"
          Storyboard.TargetProperty="(TextBlock.RenderTransform).(RotateTransform.Angle)"
          From="0"
          To="360"
          Duration="0:0:0.5"
          RepeatBehavior="4x" />
    </Storyboard>

</Window.Resources>

私は次のXAMLを持っています(明らかに):

    <Label x:Name="lblHello" Content="test" Margin="20"/>

そして背後にあるコード:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();            
    }

    public void AnimateLabelRotation()
    {
        Storyboard sbdLabelRotation = (Storyboard)FindResource("sbdLabelRotation");

        sbdLabelRotation.Begin(this);
    }

ボタンクリックイベントから呼び出します。はFindResource機能し、ストーリーボードを見つけますが、何も起こりません。アニメーションをイベント トリガーで動作させることができましたが、コード ビハインドに何かが欠けていることは明らかです。

4

2 に答える 2

0

プロジェクト全体をダウンロードするためのリンクがあり ます http://www.galasoft.ch/mydotnet/articles/resources/article-2006102701/GalaSoftLb.Article2006102701.zip

コードを調べて実行を確認できます。場合によっては、より役立つこともあります。また、コードの一部:

sbdLabelRotation.Begin(this);

間違っている可能性があります。ご存じのように、thisキーワードはクラス自体、あなたの場合はMainWindowクラスを参照します。this キーワードなしで試す必要があります。

于 2013-10-22T18:22:11.267 に答える