gpt4 book ai didi

wpf - flowdocument - 在末尾插入富文本,在插入点上方创建额外的分段符

转载 作者:行者123 更新时间:2023-12-04 08:53:30 26 4
gpt4 key购买 nike

我正在创建一个包含多个记录的流文档。每条记录的顶部包含两个表,然后是我从数据库中提取的一些富文本。附加富文本的代码如下(cp.Comments 包含 rtf 标记文本)。

Dim tr As TextRange
Dim arr() As Byte

Using ms As New System.IO.MemoryStream
arr = (New System.Text.UTF8Encoding).GetBytes(cp.Comments)
ms.Write(arr, 0, arr.Length)
ms.Seek(0, IO.SeekOrigin.Begin)

tr = New TextRange(fd.ContentEnd, fd.ContentEnd) 'add to end
tr.Load(ms, DataFormats.Rtf)
End Using

流文档正确呈现第一个记录,但所有后续记录都在第一个和第二个表之间呈现中断。最奇怪的是,我在导入 RTF 之前渲染了 2 个表,但无论如何 RTF 以某种方式影响了表之间的间距。
fd = new FlowDocument

for each cp in SomeCollection

fdtemp = New FlowDocument

CreateFirstTable(cp, fdtemp)
CreateSecondTable(cp, fdtemp)
AddRTF(cp, fdtemp)

FlowDocumentUtils.AddDocument(fdtemp, fd)

next

问题与集合的第一个元素中的数据无关 - 如果我告诉渲染跳过第一条记录的渲染,那么第二条记录渲染正常,但其余记录包含额外的间距。

注意:问题肯定与富文本插入有关 - 如果我注释掉 AddRTF 调用,那么所有表格都正确呈现在一起。 (表格边距都设置为(0,0,0,0))

有没有人见过这个?

最佳答案

您是否从另一个问题中查看了解决方案:

  • Adding text in a new line in WPF RichTextBox at runtime

  • 此外,您似乎有两种不同的方法:
    CreateFirstTable(cp, fdtemp)
    CreateSecondTable(cp, fdtemp)

    我怀疑这两种方法的运行方式之间的区别在于问题所在,但不知道它们真正在做什么,我只能推测。

    关于wpf - flowdocument - 在末尾插入富文本,在插入点上方创建额外的分段符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4864226/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com