【发布时间】:2012-04-20 19:38:22
【问题描述】:
我有一个绑定到菜单项的richtextbox,以允许粗体、斜体和下划线以及剪切复制和粘贴。但是您如何获取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;
【问题讨论】:
-
@KristyWhite 是在编辑之前。
-
啊抱歉,我以为代码会泄露我的道歉(因此编辑):)
-
本机字符串不支持粗体、斜体、... RTB 转换为格式的标记。但我也无法弄清楚如何使用标记提取文本。
标签: c# wpf xaml richtextbox document