2012-08-16 38 views
-3

上點擊一個按鈕,我將數據加載到數據網格我BusyIndi​​cator控件到數據網格

MySqlCommand cmd1m = new MySqlCommand("select * from table", conn); 
DataTable dt1m = new DataTable(); 
dt1m.Load(cmd1m.ExecuteReader()); 
System.Windows.Forms.BindingSource source = new System.Windows.Forms.BindingSource(); 
source.DataSource = dt1m; 
dataGrid1.ItemsSource = source; 

命名空間:

xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit/extended" 

和XAML:

<wpf:BusyIndicator Name="loading" IsBusy="False"> 
<DataGrid>...</DataGrid> 
</<wpf:BusyIndicator> 

但指標沒有工作,爲什麼?我應該怎麼做才能使它工作?

+2

嗨,歡迎來到SO!考慮使用比「不工作」更貼切的描述。什麼不起作用?它怎麼不起作用?你能指望什麼? – 2012-08-16 11:50:01

回答

0

對於我的WPF應用程序我已經創建了自己的等待光標類

public class WaitCursor: IDisposable 
{ 
    private Cursor _previousCursor; 

    public WaitCursor() 
    { 
     _previousCursor = Mouse.OverrideCursor; 
     Mouse.OverrideCursor = Cursors.Wait; 
    } 

    pubic void Dispose() 
    { 
     Mouse.OverrideCursor = _previousCursor; 
    } 
} 

,並調用它

//Some code for which you do not want wait cursor 
//.... 

using(new WaitCursor()) 
{ 
    dataGrid1.ItemsSource = source; 
} 
+0

不起作用,光標不是「等待」 – 2012-08-16 12:05:00

+0

在這種情況下,執行操作所需的時間非常短。尋找一些想像運行一個非常大的數字環繞它。 – 2012-08-16 12:07:22

+0

數據加載〜2-3秒...正常? – 2012-08-16 12:18:00

0

設置IsBusy =「真」在BusyIndi​​cator控件將使它秀指標。

在您的情況下,將布爾值屬性綁定到IsBusy,並在加載數據時將其設置爲True。加載完成後,將其設爲False。

0

執行操作時,應該切換「IsBusy」屬性。

loading.IsBusy = true; 
    // ... perform actions ... 
    loading.IsBusy = false; 
+0

對人們很好,這仍然是常識。第二,它跟@smhnkmr幾乎是一樣的答案。這是僞代碼,所以不要指望它在複製粘貼後工作。想一點點就沒有害處。 – KyorCode 2012-08-16 13:41:29

相關問題