C# 带有消息实现超时的状态栏
我想实现一个状态栏,在那里我可以在一段指定的时间内显示消息,在这段时间后消息将消失 这可以通过wpf中的任何现成控件来完成吗?我在StatusBar中找不到这样的功能,据我所知,StatusBar是其他项目的容器C# 带有消息实现超时的状态栏,c#,wpf,C#,Wpf,我想实现一个状态栏,在那里我可以在一段指定的时间内显示消息,在这段时间后消息将消失 这可以通过wpf中的任何现成控件来完成吗?我在StatusBar中找不到这样的功能,据我所知,StatusBar是其他项目的容器 有什么建议吗?只要在进度条中绑定数据,并在淡出时进行更新即可。让我们了解提供更好解决方案的更多详细信息状态栏实际上只是其他项目的容器。 我认为没有任何像这样的内置功能 但是你可以用一个简单的方法来实现你想要的 制作一种方法,将文本消息设置为StatusBarItem的内容,在Timer
有什么建议吗?只要在进度条中绑定数据,并在淡出时进行更新即可。让我们了解提供更好解决方案的更多详细信息
状态栏实际上只是其他项目的容器。
我认为没有任何像这样的内置功能
但是你可以用一个简单的方法来实现你想要的
制作一种方法,将文本消息设置为StatusBarItem
的内容,在Timer
和Timer.appeased
事件中设置时间,从StatusBarItem
中删除文本
StatusBar
XAML:
<StatusBar Height="25" Margin="5">
<StatusBarItem x:Name="StatusMessage" />
</StatusBar>
如果你想制作动画,你应该寻找
private void ShowStatusMessage(string message)
{
StatusMessage.Content = message;
var timer = new System.Timers.Timer();
timer.Interval = 2000; //2 seconds
timer.Elapsed += delegate(object sender, System.Timers.ElapsedEventArgs e)
{
//stop the timer
timer.Stop();
//remove the StatusMessage text using a dispatcher, because timer operates in another thread
this.Dispatcher.BeginInvoke(new Action(() =>
{
StatusMessage.Content = "";
}));
};
timer.Start();
}