问题标签 [flowdocumentscrollviewer]

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 投票
1 回答
2105 浏览

wpf - RichTextBox 与 FlowDocumentScrollViewer - 为什么它们看起来如此不同?

我有一个非常简单的 xaml 文件,其中我将相同的段落和运行元素传递给 RichTextBox 和 FlowDocumentScrollViewer。两者看起来完全不同——这不是我所期待的。

我知道您可以设置 FlowDocument 或容器的样式,使它们看起来相同,但我希望它们都继承相同的“默认”设置。

这是我的代码:

我的问题

是否有某种方法可以确保 RichTextBox 和 FlowDocumentScrollViewer 以相同的方式显示 FlowDocument?理想情况下,您无法区分它们之间的区别 - 无需将边距、字体等“硬编码”到其中一个或另一个中。

您会注意到在我上面的示例中,我的 Textblock 需要一些 Margin 才能使其显示与 RichTextBlock 相同,但我真的想避免必须做这样的事情,因为毫无疑问会出现某些字体或文化设置的情况可怕地打破了这一切。

0 投票
2 回答
1361 浏览

c# - 按位置获取可见控件

FlowDocument里面有很多内容。我需要获取当前在可见区域中的控件。

使用以下代码,我能够获得当前的滚动位置。

如何获得可见区域内的控件?

0 投票
1 回答
1207 浏览

xaml - 具有动态内容的 FlowDocument (BlockUIContainer)

我在记事本中编写了简单的 xaml 文件:

<FlowDocument AllowDrop="True" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"><Paragraph /> <BlockUIContainer><Button Tag="another.xaml">Next...</Button> </BlockUIContainer></FlowDocument>

该文件包含 BlockUIContainer,里面有 Button。按钮还具有包含对另一个 xaml 文件的引用的标记属性。当我将 xaml 文件加载到 FlowDocumentScrollViewer 时,我想单击按钮并在同一个 FlowDocumentScrollViewer 中加载另一个.xaml。我怎样才能做到这一点?我怀疑我需要搜索我的按钮,但我不知道如何。

0 投票
2 回答
28832 浏览

.net - 如何在 WPF 应用程序中生成 FlowDocument 的“打印预览”?

我的各种 WPF 应用程序显示 FlowDocument 的。我可以使用打印 WPF FlowDocument的答案中描述的方法打印它们。

现在我想添加一个“打印预览”功能。在正常情况下,我正在打印窗口中显示的 FlowDocument,因此我不需要打印预览。但在某些情况下,要打印的 FlowDocument 是在内存中动态构建的。在这些情况下,我想在打印之前显示它。

现在,我当然可以弹出一个新窗口并显示 FlowDocument,但是

  1. 我希望预览真的感觉像是打印操作的一部分,而不仅仅是应用程序中的另一个窗口。

  2. 我不希望 FlowDocumentScrollViewer 中有一个普通的 FlowDocument。而不是“任何尺寸”,它需要被限制在纸张的尺寸、特定的 HxW 比率和分页上。

建议?

  • 我应该只使用标准窗口吗?在这种情况下,如何确保 FlowDocument 处于正确的比例?

  • 在属于 Windows 的 PrintDialog UI 范围内是否有更“集成”的方式来进行预览?

谢谢

0 投票
1 回答
1195 浏览

wpf - FlowDocumentScrollViewer 中的水平滚动

我有一个带有图像的流文档(从图纸创建)。我为用户提供了一个按钮,可以在不缩放文本的情况下独立放大图像(缩放)。

无论如何,我可以强制 FlowDocumentScrollViewer 在图像放大时显示水平滚动条以进行滚动?目前,放大的图像只是被剪掉了。

最好的问候,
保罗。

0 投票
1 回答
3936 浏览

c# - 将 FlowDocument 绑定到我的 FlowDocumentScrollViewer

我有点 WPF/XAML 新手,所以这可能是一个非常明显的问题。

我在 FlowDocument 类型的项目中添加了一个新项目。让我们称之为CrappyFlowDocument.xaml

我把它放在一个单独的文件中,因为我想避免在我的PrettyInfoWindow.

现在,在我的PrettyInfoWindow,我很难过。

我在网上找不到任何关于这种“包含”功能的信息,但可能我的搜索结果很糟糕。如果这不是 FlowDocument.xaml 文件的预期目的,那是什么?

0 投票
2 回答
289 浏览

.net - 禁用 FlowDocumentScrollViewer 的打印命令绑定(并改用我的窗口!)

在我的 WPF 应用程序中,我创建了一个Window包含 的FlowDocumentScrollViewer,以及其他控件。

我已经为我的 Window 创建了一个命令绑定到 Print 命令,其中包含一个 Executed 处理程序,它运行一些自定义逻辑,并最终打印 FlowDocumentScrollViewer 的内容。

一切正常,但我有一个问题。

如果用户在 FlowDocumentScrollViewer 中单击,然后按 Ctrl + P,它将执行 FlowDocumentScrollViewer 本身的打印命令绑定,而不是我的窗口的绑定。所以我的自定义逻辑没有执行,打印输出也不是应该的。

如何禁用 FlowDocumentScrollViewer 的打印命令绑定,并确保在所有情况下按 Ctrl + P 都会运行我的 Windows 的打印命令绑定?

0 投票
1 回答
1483 浏览

wpf - 为什么我不能粘贴从 WPF FlowDocumentScrollViewer 或 Reader 复制的文本?

上一个问题中,我试图找出如何将 ObservableCollection 绑定到控件,这样我就可以看到所有字符串并选择所有字符串并从内容控件中复制它们。通过使用以下 XAML,该问题的答案最终让我得到了我想要的外观(以及看似行为)。(我尝试了 FlowDocumentReader 和 FlowDocumentScrollViewer - 它们的行为相同。)

ErrorMessages是我的 ViewModel 属性,它返回ObservableCollection<string>。它正确绑定到ItemsSource并且<Run>元素绑定到集合中的每个字符串。看起来不错,可以用很久。这是如此接近我将我的最后一个问题标记为已回答,但我仍然有一个问题。

我右键单击并显示一个带有“全选”“复制”选项的菜单。使用Select All确实会突出显示所有文本,选择Copy不会出现任何错误,但是当我转到 NotePad(或 Word、TextPad 等或表单上的 RTB)并尝试粘贴文本时,什么也没有出现。作为 WPF 的新手,我怀疑我做错了什么,但我不知道它是什么。没有“无视”文字这样的东西吗?

[编辑-2011 年 6 月 22 日] 由于其他原因,我已将代码更改为通过 ItemsControl 内的 ItemTemplate 使用 TextBlock,如下所示,但我仍然无法复制和粘贴。

0 投票
2 回答
1027 浏览

wpf - 如何让 TextBlock 在 FlowDocumentScrollViewer 内换行或滚动

我在 4 行 x 2 列网格中有以下 XAML。Grid.ColumnDefinitions 的 ColumnDefinition Width 都设置为 *。

数据来自 ObservaleCollection<string> 并且看起来很好并且可以正确垂直滚动。但是,当一个项目不能水平放入 TextBlock 时,文本块将不会换行并且 FlowDocumentScrollViewer 将不会显示滚动条。查看文本的唯一方法是水平扩展窗口。有谁知道我做错了什么以及为什么 TextWrapping 设置不被尊重?

万一这很重要,那就是风格 myFlowDoc

[编辑 1] 这是带有错误消息的全屏,应该换行。在此图像下方,我有一个仅显示消息详细信息区域,窗口较宽,因此您可以看到整个消息。我还将用户控件的整个 xaml 放在https://gist.github.com/1036178#

[编辑 2.1] @Navid 的建议让我间接得到了答案。删除“/”并将内容包装在数据模板中似乎可以解决问题。这是新的 XAML

带有不适合但不换行的文本的窗口屏幕截图 窗口变宽后,您可以看到整个消息

0 投票
1 回答
455 浏览

wpf - flowdocumentscrollviewer 段落可见 true false

我在我的一个应用程序中使用了 flowdocumentscrollviewer,如下所示,

我的问题是我想从 C# 代码可见/不可见。

我可以看到/不可见按钮,但我不能这样做,而且我还没有找到可见性属性。

我能怎么做...

请帮我。