3

我有一个按钮名称 Button1。我想在动画中更改此按钮的字体大小。所以我在 Window_Loaded 函数中编写了代码。

 DoubleAnimation da = new DoubleAnimation(0, 25, new Duration(TimeSpan.FromSeconds(3)));
            //da.TargetPropertyType = "Width";            
            da.RepeatBehavior = RepeatBehavior.Forever;
            button1.BeginAnimation(Button.FontSizeProperty, da);

但我有一个错误-

无法使用“System.Windows.Media.Animation.DoubleAnimation”为“System.Windows.Controls.Button”上的“FontSize”属性设置动画。有关详细信息,请参阅内部异常。

1)如何动画按钮字体大小?2) 我必须在 Button 中设置动画的属性是什么?

4

1 回答 1

6

在 xaml 中试试这个:

<Window...>
  <Window.Triggers>
    <EventTrigger RoutedEvent="Window.Loaded">
        <EventTrigger.Actions>
            <BeginStoryboard>
                <Storyboard Duration="00:00:1">
                    <DoubleAnimation Storyboard.TargetName="button1" From="6" To="25" Storyboard.TargetProperty="FontSize"/>
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger.Actions>
    </EventTrigger>
  </Window.Triggers>

2) 我必须在 Button 中设置动画的属性是什么?

DependencyProperty如果这就是您的想法,则动画目标不一定是。所有属性都可以是动画目标。虽然标准动画类不支持某些类型。

例如背景。您可以Background.Color使用动画ColorAnimation但不能动画,Background因为没有BrushAnimation. 但是,您可以为此类属性实现自定义动画。

于 2013-11-11T08:12:49.153 回答