问题标签 [flowdocument]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3230 浏览

wpf - 在多个 RichTextBox 之间共享 FlowDocument

一个 WPFFlowDocument只能属于一个RichTextBox. 但是,我们希望使用一个可以在 UI 中的不同点(空间和时间)进行操作的文档。永远不会有两个RichTextBoxes同时显示一个文档(并且不能,因为 WPF 会抱怨)。

在这里使用MemoryStreamand XamlReader/Writer将不起作用,因为我们希望保留单个文档并在使用它的任何地方反映更改,因此每次都复制它已经过时了。

有没有其他可行的方法来实现这一目标?您可以将其用作创建FlowDocuments 的基础模型吗?

澄清:使用 Document 的 RichTextBoxes 不再可见或在逻辑/视觉树中的任何位置,当另一个将被实例化时。虽然我可能无法强制他们已经被 GC 吃掉了。从窗口中删除 RichTextBox 后立即重新使用 Document 时,这似乎会导致问题;仍然会引发 Document 已在另一个控件中使用的异常。

基本上是有一组“向导页面”一个接一个地显示,我们可能会在两个连续的“页面”上重复使用文档,但每次都实例化一个新的 RTBox。也许有问题或更好的方法?

0 投票
3 回答
17924 浏览

c# - 如何将 FlowDocument 转换为 rtf

我使用 WPF RichTextBox 将流文档保存为数据库中的字节 []。现在我需要检索这些数据并在报告 RichTextBox 中显示为 rtf。当我尝试使用 TextRange 或在 XAMLReader 中转换字节 [] 时,我得到了一个 FlowDocument,但是我如何将它转换为 rtf 字符串,因为报告 RichTextBox 只需要 rtf。

谢谢

阿尔文德

0 投票
0 回答
897 浏览

c# - 如何在 Word 等多个页面中显示流文档?

我有一个非常类似于 MS Word 的项目,需要显示和编辑包含富文本的一系列页面,并希望在屏幕上以垂直堆叠和滚动以创建效果的多个富文本框控件中显示此内容文档流。

我也希望内容在控件之间自动流动并溢出到下一个控件等。

如果这是不可能的,还有其他方法吗?

0 投票
1 回答
2956 浏览

wpf - 滚动查看模式下的 FlowDocumentReader 滚动条可见性

我需要显示带有字体大小滑块和搜索按钮的 FlowDocument。滚动查看模式下的 FlowDocumentReader 正是我想要的,除了它总是显示垂直滚动条,而我只需要在它启用时才显示它(内部 ReaderScrollViewer 的 VerticalScrollBarVisibility 是可见的,但我需要自动)。我怎样才能实现这样的观点?

谢谢。

0 投票
2 回答
4994 浏览

c# - WPF - 计算 FlowDocument 的宽度

我正在使用 C# 和 VS2008。

我有一个包含 FlowDocument 的 WPF 应用程序,其中包含一个段落,其中包含许多相当短的行(即 Spans 和 LineBreaks)。但是线的长度会有所不同。我希望 FlowDocument 的宽度足够大,以容纳最长的这些行而不换行,但不要更宽,以免浪费空间。

将其放入 Width=Auto 的网格列中不起作用:FlowDocument 总是消耗允许的最大宽度,因为 FlowDocument 可以有效地换行以适应许多不同的宽度。

当我在代码中生成它们时,我可以遍历这些行,并为每个行计算一个宽度,但我在 Span 或 Run 类上看不到 Width 属性。

关于如何自动或手动设置此文档的宽度的任何想法?


我使用了 AndrewS 的建议并从 FlowDocument 移动到 StackPanel 的标签,每个标签都包含一行。XAML 标记是

代码创建跨度并将它们添加如下:

大小现在很完美,唯一的障碍是字体看起来与旁边的 FlowDocument 不完全相同,尽管字体系列和字体大小相同(Segoe UI,15pt),并且标签看起来很多比 FlowDocument 中的行更远。我已将此作为一个单独的问题提出

0 投票
1 回答
1251 浏览

wpf - 如何控制 FlowDocument 缩放控件的高度

在下面,缩放控件最终与 Expander 控件中设置的 FontSize 成比例:

我希望能够独立于 Expander 控件中的设置来控制缩放控件的高度。

关于如何做到这一点的任何想法?

0 投票
1 回答
6845 浏览

wpf - 从 xaml 模板文件中获取流文档

我有一个像这样开头的 Xaml 文件:

当前的解决方案使用 StremReader 通过使用流文档引用 xaml 文件的物理路径,然后将数据解析到模板中。

这不是一个有效的解决方案,所以我需要在不参考物理路径的情况下获取流文档。

我想在我的 C# 代码中使用 xmlns 命名空间或类似名称,并且喜欢

并使用结果进行解析。

建议?

0 投票
8 回答
4389 浏览

c# - C# 中的 FlowDocument 内存问题

我目前正在尝试处理释放 FlowDocument 资源的问题。我正在加载一个 rtf 文件并将其放入带有 TextRange.Load 的 FlowDocument 中。我注意到,在它这样做之后,它会保留这些资源,而 GC 不会收集它。我运行了一个内存分析器,并且发现这是真的。我还将范围缩小到我是否加载实际将 rtf 放入 FlowDocument 中。如果我不这样做,那么一切都很好。所以我知道这是问题所在。

我希望对如何解决这个问题有一些指导。这是加载 rtf 和所有内容的代码。我已将所有其他代码注释掉,甚至将其放在自己的范围内,并尝试了 GC.Collect()。任何帮助是极大的赞赏。

编辑:这是我目前的完整代码。除了让它运行的基本必需品外,我已经取出了其他所有东西。问题仍然存在。如您所见,FlowDocument 和 TextRange 没有在其他任何地方引用。

我找到了这篇文章,我希望它可以帮助我解决我的问题,但我没有运气。非常感谢任何类型的帮助。谢谢你。

编辑:我想我应该提到我检查这个的主要方式。我打开了 Windows 任务管理器,正在查看我的应用程序进程正在使用的内存使用情况。当我运行上面的代码时,应用程序在执行 TextRange.Load()(这是一个 400 页的大 RTF)时从 40,000K 变为 70,000K,一旦完成,它就会下降到 61,000K 并保持在那里。我的期望是它会回落到 40,000K 或至少非常接近它。

正如我之前提到的,我使用了一个内存分析器,发现有很多段落,Run..ect。之后对象仍然活着。

0 投票
3 回答
4269 浏览

wpf - 您可以在 WPF 中使用可重复的表列标题打印 Flowdocument 表吗

如何在 WPF 中打印带有可重复表列标题的 Flowdocument 表?

我看过这个 [ http://www.codeproject.com/KB/WPF/PimpedDocumentPaginator.aspx ] 但它不起作用。

0 投票
3 回答
403 浏览

wpf - WPF中的TextFlow元素是否有效

由于某种原因,我无法在 WPF 中使用 TextFlow 元素。这个元素/控件甚至可用吗?

我正在使用 VS 2008。