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 回答