1

我有这段代码使我的图像可见并启动计时器:

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 工作并显示消息框。问题是图像仍然可见。任何想法如何处理这个?谢谢你。

4

2 回答 2

2

试试这个:

private void hideImage(object sender, ElapsedEventArgs e) {
  Application.Current.Dispatcher.BeginInvoke((Action)(() => image1.Visibility = Visibility.Hidden));
}

首先不知道这不会让你崩溃,因为你的线程可能不是主 UI 线程,这也可能是阻止更新的原因。

于 2013-06-06T14:28:49.673 回答
0

添加到保存图像的控件的 hideImageRefresh调用。

于 2013-06-06T14:30:04.717 回答