如何在wpf中显示几秒钟的标签?

时间:2014-12-25 15:27:57

标签: c# wpf dispatchertimer

我想只显示3秒的标签,然后消失。 我在wpf应用程序中工作。

public DispatcherTimer timer = new DispatcherTimer(); 
timer.Tick += new EventHandler(timer_Tick);

我从函数

启动了计时器
timer.Start(); 

private void timer_Tick(object sender, EventArgs e)
{
      /*
      if timer equals 3 seconds then 
      timer.stop();
      lblToast.Visibility = Visibility.Hidden;
      else
      lblToast.Visibility = Visibility.Visible;
      */
}

这是正确的方法吗? 还是有其他简单的方法吗?

2 个答案:

答案 0 :(得分:4)

使用Wpf动画,您可以非常轻松地完成此操作。对于动画,请访问此link

   <Label Content="Hello World">
        <Label.Triggers>
            <EventTrigger RoutedEvent="Loaded">
                <BeginStoryboard>
                    <Storyboard>
                        <ObjectAnimationUsingKeyFrames BeginTime="0:0:0"  Storyboard.TargetProperty="Visibility">
                            <DiscreteObjectKeyFrame KeyTime="0:0:3" Value="{x:Static Visibility.Collapsed}"/>
                        </ObjectAnimationUsingKeyFrames>
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
        </Label.Triggers>
    </Label>

答案 1 :(得分:4)

Interval设置为3000,然后隐藏Tick事件中的标签。