如何在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"
}
在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;
}
}