public class ThreadExample
{
FlowDocument mcFlowDoc = new FlowDocument();
Paragraph para = new Paragraph();
public static void ThreadJob(MainWindow mainWindow)
{
mainWindow.richtextbox2.Document.Blocks.Add(new Paragraph(new Run(Text)));
}
}
您好。我有这段代码。它位于我的主窗口代码之外。我想要的是我会要求我的richtextbox根据我的需要显示一些东西。
为什么当我运行它时,会弹出一个异常,调用线程无法访问此对象,因为另一个线程拥有它。我怎样才能解决这个问题?
答案 0 :(得分:0)
您正在将MainWindow
的实例传递给静态方法。假设RichTextBox
位于MainWindow
,请使用该引用:
public static void ThreadJob(MainWindow mainWindow)
{
mainWindow.Dispatcher.Invoke(DispatcherPriority.Normal,
new Action(() => mainWindow.richtextbox2.Document.Blocks.Add(new Paragraph(new Run(Text)))));
}