新窗口的 c# WPF 忙指示器

本文关键字:WPF 指示器 窗口 新窗口 | 更新日期: 2023-09-27 18:32:31

目前我有一个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.......) 有人可以帮助我完成这项任务吗?:)

新窗口的 c# WPF 忙指示器

我假设您没有在 WPF 中的代码中使用 MVVM。

您可以在

窗口中央放置一些面板,其中包含一些用于启动的静态文本(然后您可以在 WPF 中研究动画),这些文本显示在开始时,当您冗长的代码结束时,您会将其隐藏。

请注意,当您的代码在 UI 的同一线程上运行时,您的 GUI 将不会响应。