ycl*_*ine 7 .net wpf flowdocument
在FlowDocumentPageViewer中显示FlowDocument内容脚注的最佳方法是什么?
我的第一个想法是在FlowDocument中的脚注锚之后立即跟随脚注的内容,脚注内容格式化为VerticalInnchor设置为PageBottom的图形.
这很有效,但是当页面上有多个脚注时,脚注会以相反的顺序堆叠,即第一个脚注一直在底部,后面的脚注堆叠在它上面.
这种方法的另一个困难是不允许长脚注跨越页面,因为图不允许这样做.
更极端的方法是反向执行相同的操作 - 将常规文本格式化为VerticalAnchor设置为PageTop的堆叠数字,并让脚注在底部流动.但是,段落(往往比脚注长)现在不会跨页.
我可以尝试其他什么方法?
理想情况下,我想显示脚注,因为它们会出现在打印中(即与页面底部相关),但我对其他方法持开放态度.
这是针对专业学术内容的读者应用程序,其中长而频繁的脚注是常态,应该是阅读体验的一部分.出于这个原因,我不想使用尾注,而是更喜欢每页底部显示的脚注.
我花了一段时间研究这个问题,并且不得不同意似乎没有一种“又好又简单”的方法来做到这一点。
我尝试从 Floater 和 Figure 类派生我自己的包装器类,但它很快就会变得非常复杂,因为分页是可怕的(至少对我来说)。这些的问题在于,Figure 允许自己锚定到 XAML 中的父级,而 Floater 具有您需要的所有不错的功能 - 比如分页 - 但它不能锚定在任何地方......确实有点像第 22 条军规,即使在 .NET 4.0 中也是如此。
我在这里和这里找到了两个可能有帮助的链接。第一个乍一看可能有点无关紧要,但看看代码,你应该明白了)我尝试了代码,总体思路是有效的。它围绕 DocumentPaginator 定义了一个包装类,因此允许您控制实际的分页。
无论如何,希望这能有所帮助。
归档时间: |
|
查看次数: |
697 次 |
最近记录: |