我在xaml中写一段动画,然后在事件触发中这样写可以触发事件:
<EventTrigger SourceName="button1" RoutedEvent="Button.Click">
<BeginStoryboard Name="closeQueryCanvasStoryboard"
Storyboard="{StaticResource 动画名}">
</BeginStoryboard>
</EventTrigger>
以上代码可以实现当button1单击时播放动画。
我现在的为问题是:如何在程序的运行过程中由代码自动触发动画呢,比如在程序执行过程中根据代码中的某一变量n是否等于10来确定是否播放动画,每当n从1加到10的时候就播放一次动画。
<EventTrigger SourceName="button1" RoutedEvent="Button.Click">
<BeginStoryboard Name="closeQueryCanvasStoryboard"
Storyboard="{StaticResource 动画名}">
</BeginStoryboard>
</EventTrigger>
以上代码可以实现当button1单击时播放动画。
我现在的为问题是:如何在程序的运行过程中由代码自动触发动画呢,比如在程序执行过程中根据代码中的某一变量n是否等于10来确定是否播放动画,每当n从1加到10的时候就播放一次动画。
closeQueryCanvasStoryboard.begin();
closeQueryCanvasStoryboard.begin();编译都不过,代码中不认closeQueryCanvasStoryboard
{
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);
}
}Xmal里新建一个button叫TestButton1就可以了
挺长时间不用,有点忘了。
txttt.Begin();<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>
或者样式表中设置 dataTrigger