我在创建网格效果淡入淡出时遇到了一些问题。
我希望点击后出现一个网格,这可能吗?
谢谢!
答案 0 :(得分:2)
派对太迟了,因为我写的和Hermit Dave几乎一样,但也许有助于更好地理解:
另一种方法是,在XAML视图中设置Storyboard项目,在我看来,它比纯C#代码更清晰。为此,您可以在<Grid.Resources>
的故事板中声明,如下所示:
<!-- Animates the a control's height. -->
<Grid.Resources>
<Storyboard x:Name="Animation_Collapse">
<DoubleAnimation Storyboard.TargetName="Name_Of_Control"
Storyboard.TargetProperty="Height"
From="200" To="0" Duration="0:0:0.3" />
</Storyboard>
<Storyboard x:Name="Animation_Expand">
<DoubleAnimation Storyboard.TargetName="Name_Of_Control"
Storyboard.TargetProperty="Height"
From="0" To="200" Duration="0:0:0.3" />
</Storyboard>
</Grid.Resources>
在这里,您已声明了2个动画,用于折叠和展开目标控件。您还可以设置许多属性,例如开始和目标值(From,To)和Duration(这里需要300ms)。
在.cs文件中,只需调用方法
即可执行此操作Animation_Collapse.Begin();
or Animation_Expand.Begin();
例如,将它放入button_click事件处理程序中。故事板在 System.Windows.Media.Animation namespace。
答案 1 :(得分:0)
您可以使用Storyboard并为Opacity属性设置动画以产生淡入效果,以下主题涵盖所需的代码: -
答案 2 :(得分:0)
<Storyboard x:Name="fadeText">
<DoubleAnimation Storyboard.TargetName="tbData"
Storyboard.TargetProperty="Opacity" From="1.0"
To="0" Duration="0:0:1" AutoReverse="True" />
<DoubleAnimation Storyboard.TargetName="btnReset"
Storyboard.TargetProperty="Opacity" From="1.0"
To="0" Duration="0:0:1" AutoReverse="True" />
</Storyboard>