0

現在、次のような新しいウィンドウを開くWPF関数があります。

var sqlConnectionSetting = new SqlConnectionSettingsWnd
{
    Owner = this
};
sqlConnectionSetting.Show();

問題は、このウィンドウ内に、使用可能な SQL インスタンスを探すサイクルがあることです。

string myServer = Environment.MachineName;

DataTable servers = SqlDataSourceEnumerator.Instance.GetDataSources();
for (int i = 0; i < servers.Rows.Count; i++)
{
    if (myServer == servers.Rows[i]["ServerName"].ToString()) ///// used to get the servers in the local machine////
    {
        if ((servers.Rows[i]["InstanceName"] as string) != null)
            localSqlServer.Items.Add(servers.Rows[i]["ServerName"] + "\\" + servers.Rows[i]["InstanceName"]);
        else
            localSqlServer.Items.Add(servers.Rows[i]["ServerName"]);
    }
}      

ウィンドウが開くまでに時間がかかります。BusyIndi​​cator を使用して、「SQL サーバーを検索しています」などのメッセージを表示したかったのですが、それを行う方法が見つかりません (これまで XAML をプログラミングしたことがありません....) 誰かがそのタスクを手伝ってくれませんか? ? :)

4

1 に答える 1

1

WPF のコードで MVVM を使用していないと思います。

ウィンドウの中央にいくつかのパネルを配置して、開始時に静的テキストを表示することができます (WPF でアニメーションを調査できます)。これは開始時に表示され、長いコードが終了すると非表示になります。

コードが UI の同じスレッドで実行されている間は、GUI は応答しないことに注意してください。

于 2014-12-01T08:52:10.137 に答える