当我在单独的线程中运行FlowDoc时,即使使用Dispatcher Invoke,也无法解决问题。
我读了一些关于将flowDoc序列化为xDoc并进行序列化的文章,但听起来有点麻烦。
我有这个问题已经两天了,我的头都裂了,请帮忙:)
这是我的密码
new Thread(() =>
{
Thread.CurrentThread.IsBackground = true;
for (int i = 0; i < 10; i++)
{
mcFlowDoc = new FlowDocument();
// Create a paragraph with text
Paragraph para = new Paragraph();
para.Inlines.Add(new Bold(new Run("This is a Title \n")));
para.Inlines.Add(new Run("I am a flow document. Would you like to edit me? \n"));
Dispatcher.CurrentDispatcher.Invoke((Action)(() =>
{
mcFlowDoc.Blocks.Add(para);
}));
}
}).Start();
然后是我的xaml,我只使用了一个普通的richtextbox并将flowdoc绑定到document属性:
<fsrtb:FsRichTextBox x:Name="EditBox" Document="{Binding mcFlowDoc}" Grid.Row="0" Margin="10,10,10,91" ToolbarBackground="#FFD2CB84" ToolbarBorderBrush="#FFC6BE75" ToolbarBorderThickness="1,1,1,0" CodeControlsVisibility="Collapsed" />
谢谢您。