首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于wpf动画有关问题

2012-09-11 
关于wpf动画问题?我在xaml中写一段动画,然后在事件触发中这样写可以触发事件:EventTrigger SourceNameb

关于wpf动画问题?
我在xaml中写一段动画,然后在事件触发中这样写可以触发事件:
  <EventTrigger SourceName="button1" RoutedEvent="Button.Click">
  <BeginStoryboard Name="closeQueryCanvasStoryboard" 
  Storyboard="{StaticResource 动画名}">
  </BeginStoryboard>
  </EventTrigger>
以上代码可以实现当button1单击时播放动画。
我现在的为问题是:如何在程序的运行过程中由代码自动触发动画呢,比如在程序执行过程中根据代码中的某一变量n是否等于10来确定是否播放动画,每当n从1加到10的时候就播放一次动画。

[解决办法]

C# code
public partial class Window1 : Window    {        private Storyboard myStoryBoard;         public Window1()        {            InitializeComponent();            this.RegisterName("TestButton1", TestButton1);            DoubleAnimation da = new DoubleAnimation();            da.From = 1.0;            da.To = 0.0;            myStoryBoard = new Storyboard();            myStoryBoard.Children.Add(da);            Storyboard.SetTargetName(da, "TestButton1");            Storyboard.SetTargetProperty(da, new PropertyPath(Button.OpacityProperty));        }        private void TestButton_Click(object sender, RoutedEventArgs e)        {            myStoryBoard.Begin(this, true);        }    }
[解决办法]
我这么试的一个,在后台调用好使,你试着改改。
挺长时间不用,有点忘了。
txttt.Begin();
C# code
<Rectangle Name="MyRectangle" Width="100" Height="100">            <Rectangle.Fill>                <SolidColorBrush x:Name="MySolidColorBrush" Color="Blue" />            </Rectangle.Fill>            <Rectangle.Triggers>                <EventTrigger RoutedEvent="Page.Loaded">                    <BeginStoryboard>                        <Storyboard x:Name="txttt" RepeatBehavior="Forever" AutoReverse="True">                            <DoubleAnimation                                 Storyboard.TargetName="MyRectangle"                                Storyboard.TargetProperty="Width"                                From="100" To="200" Duration="0:0:1" />                                            <ColorAnimation                                 Storyboard.TargetName="MySolidColorBrush"                                Storyboard.TargetProperty="Color"                                From="Blue" To="Red" Duration="0:0:1" />                        </Storyboard>                    </BeginStoryboard>                </EventTrigger>            </Rectangle.Triggers>        </Rectangle> 

热点排行