wpf 关于如何通过一个控件控制动画的问题
我有一个Grid,命名为Grid1,另一个ToggleButton,名为ToggleButton1,两者的布局关系大致如下:<Grid><Grid.RowDefiniti...
我有一个Grid,命名为Grid1,另一个ToggleButton,名为ToggleButton1,两者的布局关系大致如下:
<Grid>
<Grid.RowDefinitions> <RowDefinition /> <RowDefinition Height="auto"/> </Grid.RowDefinitions>
<Grid Grid.Row="0">
<Grid.ColumnDefinitions> <ColumnDefinition Width="auto"/> <ColumnDefinition /> </Grid.ColumnDefinitions>
<Grid x:Name="Grid1" Width="0"/>
</Grid>
<Grid Grid.Row="1">
<ToggleButton x:Name="ToggleButton1"/>
</Grid>
</Grid>
如何做动画才能够让togglebutton1的Checked和Unchecked的时候,Grid的Width从0变为100或变回来?动画时间为1秒?
我遇到的主要问题是:两者并不在模板上,因此没法直接使用VisualStata方式实现动画,然后我就束手无策了……
如果有任何能够达到相同效果的方式(放到同一个模板中除外!!!;预期效果是能够让guid1缓慢变宽)希望也能告诉我,有好答案还会提高悬赏的,咱的财富值很多的说
编码乱了,上传个图片…… 展开
<Grid>
<Grid.RowDefinitions> <RowDefinition /> <RowDefinition Height="auto"/> </Grid.RowDefinitions>
<Grid Grid.Row="0">
<Grid.ColumnDefinitions> <ColumnDefinition Width="auto"/> <ColumnDefinition /> </Grid.ColumnDefinitions>
<Grid x:Name="Grid1" Width="0"/>
</Grid>
<Grid Grid.Row="1">
<ToggleButton x:Name="ToggleButton1"/>
</Grid>
</Grid>
如何做动画才能够让togglebutton1的Checked和Unchecked的时候,Grid的Width从0变为100或变回来?动画时间为1秒?
我遇到的主要问题是:两者并不在模板上,因此没法直接使用VisualStata方式实现动画,然后我就束手无策了……
如果有任何能够达到相同效果的方式(放到同一个模板中除外!!!;预期效果是能够让guid1缓慢变宽)希望也能告诉我,有好答案还会提高悬赏的,咱的财富值很多的说
编码乱了,上传个图片…… 展开
2个回答
展开全部
<Window.Resources> <Storyboard x:Key="Storyboard1"> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Width)" Storyboard.TargetName="Grid1"> <EasingDoubleKeyFrame KeyTime="0:0:1" Value="100"/> </DoubleAnimationUsingKeyFrames> </Storyboard> <Storyboard x:Key="Storyboard2"> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Width)" Storyboard.TargetName="Grid1"> <EasingDoubleKeyFrame KeyTime="0:0:1" Value="0"/> </DoubleAnimationUsingKeyFrames> </Storyboard> </Window.Resources> <Grid> <Grid.RowDefinitions> <RowDefinition /> <RowDefinition Height="auto"/> </Grid.RowDefinitions> <Grid Grid.Row="0"> <Grid.ColumnDefinitions> <ColumnDefinition Width="auto"/> <ColumnDefinition /> </Grid.ColumnDefinitions> <Grid x:Name="Grid1" Width="0" Background="Red"/> </Grid> <Grid Grid.Row="1"> <ToggleButton x:Name="ToggleButton1" Height="30" Content="ToggleButton"> <ToggleButton.Triggers> <EventTrigger RoutedEvent="ToggleButton.Checked"> <BeginStoryboard Storyboard="{StaticResource Storyboard1}"/> </EventTrigger> <EventTrigger RoutedEvent="ToggleButton.Unchecked"> <BeginStoryboard Storyboard="{StaticResource Storyboard2}"/> </EventTrigger> </ToggleButton.Triggers> </ToggleButton> </Grid> </Grid>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-01-14
展开全部
先喜洋洋化 ·
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询