在WPF中渲染TabItem(使用powershell)

时间:2010-10-10 20:31:07

标签: wpf powershell wpf-controls

可能是一个简单的问题,但我的大脑今天不起作用。

我正在编写一个小的PowerShell脚本来完成各种任务。使用WPF TabControl将这些任务逻辑分组到选项卡中。

有几个选项卡会进行一些检查,以将本地文件日期与服务器文件日期进行比较,这需要一些时间。 (诚​​然,只有几秒钟,但这意味着在找到文件版本日期之前,标签不会呈现。)

所以 - 当脚本运行时,它会打开(快速)并显示第一个选项卡。然后,当选择每个选项卡时,我会使用以下内容为其余选项卡生成内容:

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

到目前为止,非常好,但是当您选择其中一个标签时,它似乎挂起,而我的脚本正在获取所需的信息。

我想要它做的是立即切换到标签,然后在获取信息时生成“请稍候......”,然后使用我需要的信息刷新页面。

有人能建议这样做的好方法吗?

的Ta,

1 个答案:

答案 0 :(得分:2)

BackgroundWorker - 您需要的是在单独的线程上处理运行脚本,以便您的UI线程是免费的,并且您可以显示“请稍候...”消息。执行完成后,您需要更新有关它的UI。

请参考, http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx

相关问题