Home > C# > 目的別資料 > エディタ > RichTextBox

WPFの、RichTextBoxに、プログラムで、テキストを追加する

新規作成日 2015-10-09
最終更新日

概要

WPFの、RichTextBoxは、FormのRichTextBoxと異なり、フロードキュメントで書式付きテキストを扱います。 そのため、プログラムから、テキストを操作する場合の方法が異なります。

フロー・ドキュメントは、TextBlock、FlowDocumentScrollViewerなど、WPFで利用できる書式付きテキストを扱うコンテナで共通して使用されています。

コードの使い方

新規にWPFアプリケーションを作成して、張り付けます。 その場合は、Xamlコードの一番上に、<Windows>タグのx:Class属性に、[プロジェクト名].[コード名]が 記載されていますので、この部分を変更します。


<Window x:Class="RichTextBox001.MainWindow"				
			

RichTextBoxに、プログラムで、テキストを追加する

「コンテンツの入力」ボタンを押すと、テキストが入力されます。

RichTextBoxに、プログラムで、テキストを追加する

<Window x:Class="RichTextBox_ProgrammalyInput.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        Title="MainWindow" Height="200" Width="300">
    <DockPanel>

        <Button DockPanel.Dock="Bottom" Click="ContentInput">コンテンツの入力</Button>
        <RichTextBox DockPanel.Dock="Top" Name="richTB">

        </RichTextBox>
    </DockPanel>
</Window>

using System.Windows;
using System.Windows.Documents;

namespace RichTextBox_ProgrammalyInput
{
    /// <summary>
    /// MainWindow.xaml の相互作用ロジック
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void ContentInput(object sender, RoutedEventArgs e)
        {
            // Run要素のインスタンスを作成します。
            Run runFirst = new Run();

            // Run要素にテキストを設定します
            runFirst.Text = "プログラムからテキストを入力します。";

            // Pragraph要素のインスタンスを作成します。
            Paragraph paragraph = new Paragraph();

            // Pragraph要素にRun要素を設定します
            paragraph.Inlines.Add(runFirst);

            // FlowDocument要素のインスタンスを作成します。
            FlowDocument document = new FlowDocument();
            document.Blocks.Add(paragraph);

            // RichTextBoxのrichTBのDocumentプロパティに、Pragraph要素を代入します。
            richTB.Document = document;
        }
    }
}

関連リンク

参考文献

「[Matthew MacDonald]Pro WPF 4.5 in C#」 p902-p903を参考にしました。

※画像は、アマゾンの販売ページにリンクしています。

次のページの内容

次のページでは、...現時点では未定です。

このエントリーをはてなブックマークに追加

Home PC C# Illustration

Copyright (C) 2011 Horio Kazuhiko(kukekko) All Rights Reserved.
kukekko@gmail.com
ご連絡の際は、お問い合わせページのURLの明記をお願いします。
「掲載内容は私自身の見解であり、所属する組織を代表するものではありません。」