-2

ボタンをクリックすると、データグリッドにデータが読み込まれます

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>

しかし、インジケーターが機能しないのはなぜですか?それを機能させるにはどうすればよいですか?

4

3 に答える 3

0

WPFアプリ用に、独自の待機カーソルクラスを作成しました

public class WaitCursor: IDisposable
{
    private Cursor _previousCursor;

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

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

このように呼んでください

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

using(new WaitCursor())
{
    dataGrid1.ItemsSource = source;
}
于 2012-08-16T11:55:53.667 に答える
0

BusyIndi​​catorでIsBusy="True"を設定すると、インジケーターが表示されます。

あなたの場合、ブールプロパティをIsBusyにバインドし、データのロード中にTrueにします。ロードが完了したら、Falseにします。

于 2012-08-16T11:58:16.870 に答える
0

アクションを実行するときは、「IsBusy」プロパティを切り替える必要があります。

    loading.IsBusy = true;
    // ... perform actions ...
    loading.IsBusy = false;
于 2012-08-16T12:05:36.837 に答える