2011-06-09 86 views
2

可能重複:
wpf busyindicator not showing up忙指示燈不顯示在WPF窗口了

我tryihng使用繁忙指示在一個窗口是這樣的:

<extToolkit:BusyIndicator Width="160" Height="100" 
       x:Name="busyIndicator" Visibility="Hidden" /> 

我我試圖在用戶選擇一些文件導入時調用它,然後我會對這些文件進行一些解析。

並設置這兩個屬性:

importProgressBar.busyIndicator.IsBusy = true; 
importProgressBar.busyIndicator.Visibility = Visibility.Visible; 

之前的窗口彈出。

我在調用文件解析完成時調用委託函數。在裏面,我用繁忙的指示器呼叫窗口。

private void ShowIndicator(ProgressReport progressReport) 
{ 
    window.Show(); 

    if (progressReport.OverallProgress.Completed) 
    { 
     window.Close(); 
    } 
} 

所以你可以在這個函數內看到我的財產完成其對完成後會自動關閉窗口,但窗口顯示了沒有繁忙的指標。

有人可以指出爲什麼繁忙指標不顯示在窗口中嗎?

+0

是什麼importProgressBar在importProgressBar.busyIndi​​cator?我希望它是窗口,但從名稱來看,它是一個進度條? – Maverik 2011-06-09 17:50:21

+0

是的,它是窗口。 – alice7 2011-06-09 17:58:18

+0

然後那裏有一個頭刮刀的位。你是否有機會通過與UI線程不同的線程調用IsBusy = true?您可能會遇到交叉線程值操作錯誤,並且您可能需要在UI線程上調用IsBusy屬性設置 – Maverik 2011-06-09 18:06:08

回答

1

使用:

Dispatcher.Invoke(DispatcherPriority.Background, 
new Action(() => { Window.Show() })); 
+0

我嘗試在同一個窗口中添加繁忙指示器,但它沒有顯示出來。 – alice7 2011-06-29 23:19:46