0
我想向主窗口發送兩個事件,以便我可以顯示某種動畫,讓用戶知道我正在更新數據。WPF - 事件線程,GUI更新問題
這是一個ObservableCollection對象,因此OnPropertyChanged立即被主窗口上的綁定拾取。睡眠只在那裏,以便用戶可以看到動畫。
但是,第一個OnPropetyChanged從來沒有見過。我假設這是因爲我們在這裏只有一個線程,並且timer_Tick必須在GUI更新之前完成。任何建議?在VB6的土地上,我們將使用DoEvents或Form.Refresh。
謝謝!
private void timer_Tick(object sender, EventArgs e)
{
Loading = "Before: " + DateTime.Now.ToString();
OnPropertyChanged("Loading");
LoadData();
Thread.Sleep(1000);
//Loading = Visibility.Hidden;
Loading = "After: " + DateTime.Now.ToString();
OnPropertyChanged("Loading");
}
你不想幫助我的代碼就可以了嗎? ;) – LSTayon 2009-08-07 22:51:19
N/M 這是我用的: queryTimer.Dispatcher.Invoke(DispatcherPriority.Normal,new ThreadStart(delegate {OnPropertyChanged(「Loading」);})); 我正在上課,所以我無法使用this.Dispatcher調用。 當我單步執行代碼時,在第一次調度之後,寡婦變黑,然後在我離開計時器滴答時間後才刷新... – LSTayon 2009-08-07 23:00:27