wpf - WPF:动画后将网格可见性切换回第一个状态(折叠)
问题描述
所以我有这个Grid
:
<Grid x:Name="notificarionGrid" Visibility="Collapsed"/>
我想用动画改变它的可见性值,所以我有这个 2 Storyboard:
<Storyboard x:Key="fadeIn">
<ObjectAnimationUsingKeyFrames BeginTime="0:0:0" Storyboard.TargetProperty="Visibility">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<Visibility>Visible</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
<DoubleAnimation BeginTime="0:0:0.0" Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:2.0"/>
</Storyboard>
<Storyboard x:Key="fadeOut">
<DoubleAnimation BeginTime="0:0:0:0" Storyboard.TargetProperty="Opacity" From="1" To="0" Duration="0:0:2.0"/>
</Storyboard>
现在这段代码工作正常,但这里唯一的问题是,在fadeOut
myGrid Visibility
成为Hidden
而不是Collapsed
什么原因之后,某些元素在 this 下变得不负责任Grid
。
知道如何将我的Grid
再次切换到Collapsed
吗?
解决方案
您可以处理以下Completed
事件Storyboard
:
private void Storyboard_Completed(object sender, EventArgs e)
{
notificarionGrid.Visibility = Visibility.Collapsed;
}
XAML:
<Storyboard x:Key="fadeOut" Completed="Storyboard_Completed">
<DoubleAnimation BeginTime="0:0:0" Storyboard.TargetProperty="Opacity" From="1" To="0" Duration="0:0:2.0"/>
</Storyboard>
或添加ObjectAnimationUsingKeyFrames
到您的Storyboard
:
<Storyboard x:Key="fadeOut">
<DoubleAnimation BeginTime="0:0:0" Storyboard.TargetProperty="Opacity" From="1" To="0" Duration="0:0:2.0"/>
<ObjectAnimationUsingKeyFrames BeginTime="0:0:2" Storyboard.TargetProperty="Visibility">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<Visibility>Collapsed</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
推荐阅读
- botframework - 使用 Graph API 发送消息时,Bot 未响应 @Mention
- mysql - 更改排序规则后现有数据库是否会损坏
- haskell - Yesod 将 getCurrentRoute 与具有动态参数的路由进行比较
- wso2 - WSO2 Micro Integrator 中没有 MailTransportSender?
- linux - 视觉工作室代码远程集成终端不显示zsh主题
- algorithm - Big O 表示法是否适用于 while(true) 循环?
- android - 使用导航组件将参数安全地传递给嵌套图
- python-3.x - Pandas TypeError:数据类型''不理解
- javascript - 鼠标Hower上的Reactstrap自动下拉菜单
- flutter - 如何从 AppBar 中删除或隐藏后退图标