Рендеринг TabItem в WPF (с PowerHsell) - PullRequest
       6

Рендеринг TabItem в WPF (с PowerHsell)

1 голос
/ 11 октября 2010

Возможно, простой вопрос, но мой мозг сегодня не работает.

Я пишу небольшой скрипт PowerShell для выполнения различных задач. Эти задачи логически сгруппированы во вкладки с помощью WPF TabControl.

Несколько вкладок выполняют некоторые проверки, чтобы сравнить даты локальных файлов с датами файлов сервера, что занимает немного времени. (Правда, всего несколько секунд, но это означает, что вкладка не отображается, пока не найдены даты версии файла.)

Итак - когда скрипт запускается, он открывается (быстро) и отображает первую вкладку. Затем я использую следующее для создания содержимого для остальных вкладок на лету, когда выбрана каждая вкладка:

$Tabs = $d.FindName('Tabs')
$Tabs.Add_SelectionChanged({ GenerateContent ($Tabs.SelectedItem).Header})

Пока все хорошо, но когда вы выбираете одну из этих вкладок, она зависает, пока мой скрипт получает необходимую ему информацию.

Я хочу, чтобы он сразу переключился на вкладку, а затем сгенерировал «Пожалуйста, подождите ...», пока он получает информацию, и затем обновите страницу необходимой информацией.

Может кто-нибудь предложить хороший способ сделать это?

Та, * * 1016

Ben

1 Ответ

2 голосов
/ 11 октября 2010

BackgroundWorker - вам нужно выполнить обработку запуска скрипта в отдельном потоке, чтобы ваш поток пользовательского интерфейса был свободен, и вы могли показать сообщение «Пожалуйста, подождите ...».Когда выполнение будет завершено, вам необходимо обновить интерфейс пользователя.

Пожалуйста, обратитесь, http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx

...