0

在 WPF中,文本RichTextBox的有效样式是将 上定义的属性与它从封闭的“继承”的属性以及最后的样式组合在一起的结果。因此,您可以设置为任何这些级别。您也可以将其设置在 上,然后将其切换到(覆盖)特定的.RunRunParagraphDocumentFontWeightBoldBoldParagraphNormalRun

但是,下划线和删除线是不同的。它们是可以选择出现在 的列表中的项目TextDecorations,这是Inline(因此Run)和 的属性Paragraph,但不是 的属性Document。您可以在Underline中打开Paragraph,它会被继承,因此默认情况下,该默认值Run内的所有 s都会出现下划线。Paragraph

是否可以在特定的下划线中将其关闭Run?即有没有办法在列表中插入一个条目,TextDecorations其意思是“不要下划线”,从而覆盖Paragraph's 设置?

4

1 回答 1

1

我知道你基本上可以像这样处理下划线:

protected void ContinueRoutingCommand(object sender, CanExecuteRoutedEventArgs e)
{
            else if (e.Command == EditingCommands.ToggleUnderline)
            {
                e.Handled = true;
                e.CanExecute = true;
                e.ContinueRouting = false;
                return;
            }
}

但是,在您的情况下,您只想在特定的运行中覆盖它,对吗?然后,您可以在内部 if 中验证您的 Run,如果您愿意,可以完全像这样阻止它。

于 2010-03-31T18:18:41.443 回答