如何在WPF中分配一个RichTextBox的FlowDocument到另一个

本文关键字:RichTextBox 一个 FlowDocument 另一个 WPF 分配 | 更新日期: 2023-09-27 18:14:35

而分配一个RichTextBox的FlowDocument到另一个的我得到一个异常,FlowDocument属于另一个文本框。如何赋值

  public ZoomedDialog(FlowDocument pFlowDocument)
            {
                txtRichContent.Document = pFlowDocument;
// this line throws exception "pFlowDocument belongs to another RichTextBox"
            }

如何在WPF中分配一个RichTextBox的FlowDocument到另一个

在MSDN论坛上看看这个问题:http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/2bc414fb-bcb9-4ecc-bb27-b55870085f1f/

和看看这个问题在SO:多个richtextbox之间共享FlowDocuments

根据你展示的代码,我不能决定什么是适合你的设置。

伙计们,

试试这个解决方案:)!

 public static void OnDocumentChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args)
    {
        var rtb = (RichTextBox)obj;
        if (args.NewValue != null)
        {
            var doc = (FlowDocument) args.NewValue;
            if (doc.Tag is RichTextBox)
            {
                // clear belongs to another rtb.
                ((RichTextBox) doc.Tag).Document = new FlowDocument();
            }
            else
            {
                doc.Tag = rtb;
            }
            rtb.Document =doc;
        }
    }