我有这个代码使我的图像可见并启动计时器:
image1.Visibility = Visibility.Visible;
System.Timers.Timer timer = new System.Timers.Timer(2000) { AutoReset=false};
timer.Enabled = IsEnabled;
timer.Start();
timer.Elapsed += hideImage;
这是2秒后触发的事件:
private void hideImage(object sender, System.Timers.ElapsedEventArgs e)
{
MessageBox.Show("test");
image1.Visibility = Visibility.Hidden;
}
MessageBox.Show工作并显示消息框。问题是图像保持可见。任何想法如何处理这个?谢谢。
答案 0 :(得分:2)
试试这个:
private void hideImage(object sender, ElapsedEventArgs e) {
Application.Current.Dispatcher.BeginInvoke((Action)(() => image1.Visibility = Visibility.Hidden));
}
不确定这对你来说是如何崩溃的,因为你的Thread可能不是主UI线程,这可能也阻碍了更新。
答案 1 :(得分:0)
添加到隐藏图像的控件的hideImage Refresh
调用。