2011-07-25 124 views
1

我有一個WPF應用程序,我在網格上放置了一個停靠面板,然後默認停靠面板是隱藏的。在網格中,我有一個按鈕,當我點擊它時,停靠面板的可見性是可見的,我希望停靠面板在2秒後隱藏。我該怎麼做呢?WPF控件可見性

回答

2

我假設你想要的Dock面板是某種形式的彈出窗口和消息框消失:

您可以創建一個故事板有兩個動畫。第一個動畫將停靠面板的可見性更改爲可見,將第二個更改爲隱藏,但啓動時間相對於故事板的開始時間爲2秒。

4

嘗試這樣

<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> 
+0

謝謝老兄!這就是我要的。我現在的問題是在2秒後隱藏了停靠面板的可見性後,我想調用某個功能。這可以做到嗎? – patlimosnero

+1

您可以訂閱故事板的完成事件 – biju