C#Windows窗体:从另一个线程(在ElementHost中)向WPF RichTextBox添加HyperLink

时间:2014-09-30 17:14:03

标签: c# wpf multithreading hyperlink richtextbox

我在表单上有一个带有WPF RichTextBox(在ElementHost中)的c#Windows窗体项目,并希望从另一个Thread添加一个HyperLink,但是我得到一个TargetInvocationException。如果它是从同一个线程执行的,那么这段代码就可以工作,但我需要从另一个线程执行它。

Hyperlink hyper = new Hyperlink(new Run("http://google.com"));
hyper.NavigateUri = new Uri("http://google.com");

if (Dispatcher.CheckAccess())
{
    locParagraph.Inlines.Add(hyper);
}
else
{
    Dispatcher.Invoke(
        DispatcherPriority.Background, 
        (System.Windows.Forms.MethodInvoker)(
            () => locParagraph.Inlines.Add(hyper)));
}

0 个答案:

没有答案