2

太字、イタリック体、下線、カット コピー アンド ペーストを許可するために、メニュー項目にバインドされたリッチテキスト ボックスがあります。しかし、richtextbox のコンテンツをどのように取得し、太字、斜体などを運ぶコード ビハインドの文字列に変換するのでしょうか?

        </DockPanel>
            <DockPanel Height="259" VerticalAlignment="Bottom">
            <Menu DockPanel.Dock="Top">
                <MenuItem Header="Edit">
                    <MenuItem Command="Cut" Header="_Cut" />
                    <MenuItem Command="Copy" Header="C_opy" />
                    <MenuItem Command="Paste" Header="_Paste" />
                </MenuItem>
            </Menu>
            <ToolBarTray DockPanel.Dock="Top">
                <ToolBar>
                    <Button Command="Cut" Content="Cut" />
                    <Button Command="Copy" Content="Copy" />
                    <Button Command="Paste" Content="Paste" />
                            <ToggleButton MinWidth="40"
                    Command="EditingCommands.ToggleBold"
                    CommandTarget="{Binding ElementName=XAMLRichBox}"
                    TextBlock.FontWeight="Bold">B</ToggleButton>
                            <ToggleButton MinWidth="40"
                    Command="EditingCommands.ToggleItalic"
                    CommandTarget="{Binding ElementName=XAMLRichBox}"
                    TextBlock.FontStyle="Italic">I</ToggleButton>
                            <ToggleButton MinWidth="40"
                    Command="EditingCommands.ToggleUnderline"
                    CommandTarget="{Binding ElementName=XAMLRichBox}">
                                <TextBlock TextDecorations="Underline">U</TextBlock>
                            </ToggleButton>
                        </ToolBar>
            </ToolBarTray>
                <RichTextBox HorizontalAlignment="Left" Margin="0,0,0,0" Name="richTextBox1"  Height="211" VerticalAlignment="Top" Width="398" />

コードビハインドで私はこれをやろうとしていましたが(どうやってやるのかわかりません)、テキストブロックは太字などを含まない通常のテキストとして出てきます.

    private void button1_Click(object sender, RoutedEventArgs e)
    {
        string myText = new TextRange(richTextBox1.Document.ContentStart, richTextBox1.Document.ContentEnd).Text;
        textBlock1.Text = myText;
4

1 に答える 1

0

あなたの質問に対する簡単な答えは次のとおりです。文字列にはフォーマット情報が含まれていません。RichTextBoxのコンテンツは、RTF などのテキスト形式をサポートする形式で保存する必要があります。

于 2012-04-20T20:01:22.103 に答える