2014-12-01 2 views
0

В настоящее время я имею функцию WPF, которая открывает новое окно, которое выглядит так:C# WPF busyindicator для нового окна

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 раньше ....) может кто-то, пожалуйста, помогите мне с этим задача? :)

+1

Вы просматривали расширенный набор инструментов WPF: http: //wpftoolkit.codeplex.com/wikipage? Title = BusyIndicator & referringTitle = Home? Обратите внимание, что вам нужно запустить поиск экземпляра в фоновом потоке (например, используя задачи). – Dennis

+0

В этой статье объясняется, как получить и использовать BusyIndicator http://www.c-sharpcorner.com/UploadFile/mahesh/wpf-busyindicator/ –

ответ

1

Я предполагаю, что вы не используете MVVM с кодом в WPF.

Вы можете поместить некоторую панель в центр вашего окна с некоторым статическим текстом для начала (тогда вы можете исследовать анимацию в WPF), который отображается в начале и когда ваш длинный код заканчивается, вы его спрячете.

Обратите внимание, что ваш GUI не будет отвечать, пока ваш код работает в одном потоке пользовательского интерфейса.

Смежные вопросы