[英]Change image visibility on timer.elapsed event
我有此代碼,它使我的圖像可見並啟動計時器:
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起作用,並顯示消息框。 問題在於圖像仍然可見。 有什么想法如何處理嗎? 謝謝。
嘗試這個:
private void hideImage(object sender, ElapsedEventArgs e) {
Application.Current.Dispatcher.BeginInvoke((Action)(() => image1.Visibility = Visibility.Hidden));
}
不知道首先如何不會使您崩潰,因為您的線程可能不是Main UI線程,這也可能是阻止更新的原因。
添加到hideImage Refresh
保存圖像的控件的調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.