Start-Job -ScriptBlock { }
,它会在GUI线程上更新。如何从Start-Job更新我的richtextbox?
Start-Job -ScriptBlock{
$richTextBox1.AppendText('++++++++++++++++')
$richTextBox1.Dispatcher.Invoke([action]{
$richTextBox1.AppendText('-------------')
},"Normal")
}
答案 0 :(得分:1)
我不是WPF中Powershell的大量用户,但是我了解你的帖子我认为我仍然可以提供帮助。
public void RunPowershell_Script()
{
Thread t = new Thread(new ThreadStart(
delegate
{
Start-Job -ScriptBlock{
this.Dispatcher.Invoke((Action)(() =>
{
//Any Element that you need to interact with variables
//or controls from the main application on the main
//dispatcher thread go here.
$richTextBox1.AppendText('++++++++++++++++')
$richTextBox1.AppendText('-------------')
}));
}
//Any final code can go here.
}
));
t.Start();
}
我相信这应该有用,但你必须要玩。以上是访问最初创建RTF框的主调度程序线程的最佳方法。尝试一下,让我知道它是否仍然不起作用。