目前我正在使用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"]);
}
}
窗口需要很长时间才能打开。 我想使用BusyIndicator显示一些消息,如“搜索SQL服务器”或类似的东西,但我找不到任何方法(我之前从未编写过XAML ......)有人可以帮我完成这项任务? :)
答案 0 :(得分:1)
我假设你没有在MVF中使用MVVM和你的代码。
您可以将一些面板放在窗口的中心,并使用一些静态文本进行开始(然后您可以在WPF中研究动画),这将在开始时显示,当您的冗长代码结束时,您将其隐藏起来。
请注意,当您的代码在UI的同一个线程上运行时,您的GUI不会响应。