簡體   English   中英

更改timer.elapsed事件的圖像可見性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM