WPF控制可见性
本文关键字:可见性 控制 WPF | 更新日期: 2023-09-27 18:03:15
我有一个WPF应用程序,我在网格上放置了一个dock面板,然后默认dock面板是隐藏的。在网格中,我有一个按钮,当我点击它的码头面板的可见性是可见的,我想要的码头面板隐藏后2秒。我该怎么做呢?
试一下
<Window x:Class="WpfApplication30.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<Storyboard x:Key="ShowDock">
<ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="dock" Storyboard.TargetProperty="(UIElement.Visibility)">
<DiscreteObjectKeyFrame KeyTime="00:00:00" Value="{x:Static Visibility.Visible}"/>
<DiscreteObjectKeyFrame KeyTime="00:00:2" Value="{x:Static Visibility.Collapsed}"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</Window.Resources>
<Grid>
<Grid>
<Button Content="show" Height="30" Width="100">
<Button.Triggers>
<EventTrigger RoutedEvent="Button.Click">
<BeginStoryboard Storyboard="{StaticResource ShowDock}"/>
</EventTrigger>
</Button.Triggers>
</Button>
</Grid>
<DockPanel x:Name="dock" Background="Pink" Visibility="Collapsed"/>
</Grid>
</Window>
我假设您希望dock面板是某种弹出-消失消息框:
你可以用两个动画创建一个故事板。第一个动画将dock面板的可见性变为可见,第二个动画将变为隐藏,但是起始时间相对于故事板的开始时间为2秒。