試してみよう : FlowDocumentReader コントロールの作成

このページは WPF プロジェクトにのみ適用されます。

[プロパティ] パネルに表示されるプロパティの中には、値が単一値ではない複雑なものがあります。たとえば、複数の値のコレクションを表すプロパティや、独自のプロパティ群が設定されたオブジェクトを表すプロパティなどが挙げられます。このような値を変更するには、コレクション エディタとサブプロパティ エディタを使用します。

次の手順では、サブプロパティ エディタとコレクション エディタを使用して、FlowDocumentReader コントロールにコンテンツを追加する方法について説明します。

Cc294699.alert_note(ja-jp,Expression.10).gifメモ :

FlowDocumentScrollViewer コントロールのテキストを変更するには、この手順を使用する必要はありません。代わりに、「テキストの編集」、「テキストの書式設定」、および「テキストと文字体裁」の「操作方法」のセクションで示されている他のトピックの手順を使用できます。

FlowDocumentReader コントロールにコンテンツを追加するには

  1. FlowDocumentReader コントロールはアセット ライブラリから入手できます。ツールボックスの [アセット ライブラリ] ボタン Cc294699.0224cabd-5da1-4e01-bddd-4a647401a098(ja-jp,Expression.10).png をクリックします。

  2. [すべて表示] チェック ボックスをオンにすると、使用可能なすべてのコントロールが表示されます。

  3. [コントロール] タブの [システム コントロール] を選択し (既定)、FlowDocumentReader コントロールを選択します。ツールボックスの [アセット ライブラリ] ボタンの上に汎用アイコンが表示されます。このアイコンは、アートボードにコントロールを追加しやすいように、選択された状態で表示されます。

  4. アートボード上に FlowDocumentReader コントロールを描画します。

    アートボード上に描画された FlowDocumentReader コントロール

    Cc294699.341a31f1-c5ea-4d83-b371-b2097f00cb27(ja-jp,Expression.10).png

  5. [オブジェクトとタイムライン] で FlowDocumentReader オブジェクトを選択した状態で、[プロパティ] パネルの [その他] カテゴリを展開します。

  6. Document プロパティの横にある [新規作成] ボタンをクリックします。Document プロパティに FlowDocument オブジェクトが設定され、FlowDocument オブジェクト用のサブプロパティ エディタが開きます。サブプロパティ エディタは展開したり折りたたんだりできます。Document プロパティに含めることのできる FlowDocument は 1 つだけです。

    Cc294699.alert_note(ja-jp,Expression.10).gifメモ :

    サブプロパティ エディタが表示されるプロパティには、通常その横に [新規作成] ボタンが表示され、プロパティにコンテンツがある場合は、さらに展開するための矢印 Cc294699.b21226d8-0f6c-454b-98fb-1b8e22f45c99(ja-jp,Expression.10).png が表示されます。プロパティに既定のサブプロパティが関連付けられている場合は、プロパティ名の横にドロップダウン矢印も表示されます。たとえば、BitmapEffect プロパティには、BevelBitmapEffect、BlurBitmapEffect、その他のサブプロパティを表示するドロップダウン リストがあり、これらの中から適切なサブプロパティを選択できます。

    Document プロパティのサブプロパティ エディタに表示されている Blocks コレクション プロパティ

    Cc294699.421a7657-c71e-44de-ac91-bbc8bb64800d(ja-jp,Expression.10).png

  7. Document プロパティのサブプロパティ エディタで、Blocks (コレクション) プロパティの横にある [このコレクション内のアイテムを編集] ボタンをクリックします。Blocks プロパティのコレクション エディタが開きます。

    Cc294699.alert_note(ja-jp,Expression.10).gifメモ :

    コレクション エディタを表示するプロパティには、通常そのプロパティ名の横に (コレクション) という語および [このコレクション内のアイテムを編集] ボタンが表示されます。

    Blocks サブプロパティのコレクション エディタ

    Cc294699.7becf751-36c9-49f0-a8bd-6308397e82ea(ja-jp,Expression.10).png

  8. Blocks サブプロパティのコレクション エディタで、[別のアイテムを追加] ボタンをクリックします。[オブジェクトの選択] ウィンドウが表示されます。このウィンドウで Windows Presentation Foundation (WPF) オブジェクトを選択できます。

  9. Paragraph クラスをすばやく検索するために、[検索] テキスト ボックスに「Paragraph」と入力します。リストから System.Windows.Documents の下にある Paragraph を選択し、[OK] をクリックします。[オブジェクトの選択] ウィンドウが閉じ、Paragraph アイテムがコレクション エディタのインデックス 0 に追加されます。Paragraph オブジェクトのプロパティが右側に表示されます。

    Cc294699.alert_note(ja-jp,Expression.10).gifメモ :

    特定のコレクションに対して有効なオブジェクトを判断するのが難しい場合もあります。このため、一般的なコントロールのコレクション プロパティ (ListBox コントロールの Items コレクション プロパティなど) については、コレクション エディタに [別のアイテムを追加] ボタンのほかに、候補となるアイテムのドロップダウン リストが表示されます。ただし、あまり一般的ではないコントロール (FlowDocumentReader コントロールなど) については、コントロール型に関する MSDN ドキュメントを参照すると、コレクションに有効な要素の理解に役立ちます。たとえば、MSDN の「フロー ドキュメントの概要」の「フロー関連クラス」に関するセクションには、フロー ドキュメント コントロールの構造を示す図があります。この図を参考にすると、Blocks プロパティには、Paragraph、Section、List、Table、BlockUIContainer の各要素を含めることができるとわかります。次の手順では、Run 要素を Paragraph オブジェクトの Inlines コレクション プロパティに追加します。

  10. Paragraph オブジェクトの [プロパティ] ウィンドウで、Inlines プロパティの横にある [このコレクション内のアイテムを編集] をクリックします。コレクション エディタが Inlines プロパティのスコープに切り替わります。

  11. [別のアイテムを追加] ボタンをクリックし、[オブジェクトの選択] ウィンドウから Run クラスを選択します。Run オブジェクトがコレクション エディタのインデックス 0 に追加されます。

  12. Run オブジェクトの [プロパティ] ウィンドウで、Text プロパティにコンテンツを入力します。また、[ブラシ] カテゴリと [テキスト] カテゴリのプロパティの一部を使用して、入力したテキストのスタイルを設定することもできます。他のプロパティは、FlowDocumentViewer コントロールのレベルで設定する必要があるため、ここでは設定できない状態になっています。

    Run オブジェクトの追加とテキストの編集を行った後の Inlines プロパティのコレクション エディタ

    Cc294699.36430950-044e-44e8-a70f-c5fa9fc7ddde(ja-jp,Expression.10).png

  13. [OK] をクリックし、Inlines プロパティのコレクション エディタを終了します。再び [OK] をクリックし、Blocks プロパティのコレクション エディタを終了します。前述の手順で入力したテキストが FlowDocumentViewer コントロールに表示されます。

    Cc294699.alert_caution(ja-jp,Expression.10).gif重要 :

    作成したコンテンツを削除する場合を除き、FlowDocumentViewer オブジェクトの Document プロパティの横にある [新規作成] ボタンはクリックしないでください。これは、Document プロパティには FlowDocument オブジェクトを 1 つしか含めることができないためです。プロパティ名に "(コレクション)" という語が含まれていない限り、そのプロパティにはオブジェクトを 1 つしか含めることができません。

Cc294699.alert_note(ja-jp,Expression.10).gifメモ :

FlowDocumentScrollViewer オブジェクトまたは RichTextBox オブジェクトの編集時には、Microsoft Expression Blend テキスト エディタを使用できます。このエディタを開くには、オブジェクトを選択して F2 キーを押します。詳細については、「テキストの編集」を参照してください。DocumentViewer オブジェクトまたは FlowDocumentPageViewer オブジェクトを編集する際には、コンテンツがプログラムによって追加されます。詳細については、MSDN の「フロー ドキュメントの概要」および「Windows Presentation Foundation のドキュメント」を参照してください。また、「Windows SDK .NET Framework 3.0 Samples」(英語の可能性あり) からダウンロードできる DocumentViewer SamplesFlowDocumentReader Samples も参照してください。