2014-03-02 42 views
0

我想展示一些工作期間progessbar但知名度不改變...更改可視性C#的Windows Phone不能正常工作8

private void GestureListener_PinchCompleted(object sender, PinchGestureEventArgs e) 
{ 
    progressBar.Visibility = System.Windows.Visibility.Visible; 
    DoWork();//quite long (4-5 seconds) 
    progressBar.Visibility = System.Windows.Visibility.Collapsed; 
} 

是否有resfreh方法或類似的東西那?難道我做錯了什麼?

回答

2

您正在UI線程中執行DoWork(),阻止它4到5秒。這就是爲什麼你無法看到進度條。

考慮調用DoWork的一個單獨的線程:

private async void GestureListener_PinchCompleted(object sender, PinchGestureEventArgs e) 
{ 
    progressBar.Visibility = System.Windows.Visibility.Visible; 
    await Task.Run(()=> DoWork()); //quite long (4-5 seconds) 
    progressBar.Visibility = System.Windows.Visibility.Collapsed; 
} 

Asynchronous Programming For Windows Phone 8

+0

它的工作原理:)謝謝! – Bogy

相關問題