动手试验:创建 FlowDocumentReader 控件
在“属性”面板中,有些属性非常复杂,而不仅仅具有一个值。例如,有些属性代表一个值集合或一个带有本身属性的对象。您可以使用集合编辑器和子属性编辑器来修改这些值。
以下过程使用子属性编辑器和集合编辑器来显示如何向“FlowDocumentReader”控件添加内容。
说明: |
---|
不需要使用此过程即可修改“FlowDocumentScrollViewer”控件中的文本。而可以使用编辑文本、设置文本格式中的操作步骤以及文本和版式中的“操作方法”部分列出的其他主题。 |
向 FlowDocumentReader 控件添加内容
可以从资源库中使用“FlowDocumentReader”控件。在工具箱中,单击“资源库” 按钮。
选中“全部显示”复选框,以查看所有可用的控件。
在“控件”选项卡中,选择“系统控件”(默认设置),然后再选择“FlowDocumentReader”控件。此时,在工具箱的“资源库”按钮上方将显示一个通用图标,该图标被选中并且可添加到美工板上。
在美工板上绘制 FlowDocumentReader。
在美工板上绘制的 FlowDocumentReader 控件
选择“对象和时间线”下的“FlowDocumentReader”对象,然后展开“属性”面板中的“杂项”类别。
单击“Document”属性旁边的“新建”按钮。将为“Document”属性填入一个“FlowDocument”对象,并且打开“FlowDocument”的子属性编辑器。可以展开和折叠子属性编辑器。“Document”属性只能包含一个“FlowDocument”。
说明: 那些显示子属性编辑器的属性旁边通常会显示一个“新建”按钮和一个扩展箭头 (如果该属性有内容)。如果该属性具有与其相关联的默认子属性,则该属性旁边还将显示一个下拉箭头。例如,“BitmapEffect”属性提供一个下拉列表,其中包括“BevelBitmapEffect”、“BlurBitmapEffect”以及其他可以从中选择的子属性。
“Document”属性的子属性编辑器,其中显示了“Blocks”集合属性
在“Document”属性的子属性编辑器中,单击“Blocks (集合)”属性旁边的“编辑此集合中的项”按钮。将打开“Blocks”属性的集合编辑器。
说明: 那些显示集合编辑器的属性名称的旁边通常会显示“(集合)”一词以及“编辑此集合中的项”按钮。
“Blocks”子属性的集合编辑器
在“Blocks”子属性的集合编辑器中,单击“添加另一项”按钮。此时,将显示“选择对象”窗口,从中可以选择任何 Windows Presentation Foundation (WPF) 对象。
在“搜索”文本框中,键入 Paragraph 以快速找到“Paragraph”类。从“System.Windows.Documents”下的列表中选择“Paragraph”,然后单击“确定”。将关闭“选择对象”窗口,并将“Paragraph”项添加到集合编辑器中索引值为 0 的位置。“Paragraph”对象的属性将显示在右侧。
说明: 要了解给定集合的有效对象并不是一件容易的事。对于常用控件的集合属性(如“ListBox”控件的“Items”集合属性),集合编辑器会提供一个包含建议项的下拉列表以及“添加另一项”按钮。而对于不常见的控件(如“FlowDocumentReader”控件),可以查看有关该控件类型的 MSDN 文档,也许能够帮助您了解该集合的有效元素。例如,在 MSDN 上流程文档概述(此链接可能指向英文页面)的“流程相关类”部分,有一张图表会显示流程文档控件的结构。在该图表中,您能够看到“Blocks”属性可以包含“Paragraph”、“Section”、“List”、“Table”和/或“BlockUIContainer”元素。在下列步骤中,将向“Paragraph”对象的“Inlines”集合属性添加“Run”元素。
在“Paragraph”对象的“属性”窗口中,单击“Inlines”属性旁边的“编辑此集合中的项”按钮。集合编辑器将切换到“Inlines”属性的范围。
单击“添加另一项”按钮,然后从“选择对象”窗口中选择“Run”类。“Run”对象便已添加到集合编辑器中索引值为 0 的位置。
在“Run”对象的“属性”窗口中,通过在“Text”属性中键入内容来进行添加。也可以使用“画笔”和“文本”类别的某些属性来设置文本的样式。其他属性将被禁用,因为这些属性必须在“FlowDocumentViewer”控件的级别上进行设置。
添加 Run 对象并编辑 Text 之后的“Inlines”属性的集合编辑器
单击“确定”退出“Inlines”属性的集合编辑器,然后单击“确定”退出“Blocks”属性的集合编辑器。上一步中输入的文本将显示在“FlowDocumentViewer”控件中。
重要事项: 除非您希望删除刚创建的内容,否则请不要单击“FlowDocumentViewer”对象的“Document”属性旁边的“新建”按钮,这是因为“Document”属性只能包含一个“FlowDocument”对象。除非属性的名称包含“(集合)”一词,否则该属性只能包含一个对象。
说明: |
---|
如果编辑的是“FlowDocumentScrollViewer”或“RichTextBox”对象,则可以使用 Microsoft Expression Blend 文本编辑器(选择该对象并按 F2 可访问该编辑器)。有关详细信息,请参阅编辑文本。如果编辑的是“DocumentViewer”或“FlowDocumentPageViewer”对象,则可以通过编程方式添加内容。有关详细信息,请参阅 MSDN 上的流程文档概述和 Windows Presentation Foundation 中的文档(这些链接可能指向英文页面)。此外,请参阅可从 Windows SDK .NET Framework 3.0 示例网站下载的 DocumentViewer 示例和 FlowDocumentReader 示例(这些链接可能指向英文页面)。 |