在WPF RichTextBox中,是否覆盖了Underline / Strikethrough?

时间:2010-03-31 14:28:18

标签: wpf richtextbox underline

在WPF RichTextBox中,Run文本的有效样式是将Run上定义的属性与封闭{“继承”的属性相结合的结果。 {1}}以及Paragraph上的样式。因此,您可以在任何这些级别将Document设置为FontWeight。您也可以在Bold上设置Bold,然后将其切换为Paragraph(覆盖它)以获取特定Normal

但是,下划线和删除线是不同的。它们是可以选择显示在Run列表中的项目,TextDecorationsInline(因此Run)和Paragraph的属性,但不是{{1}的属性}}。您可以在Document中启用Underline,并将其继承,以便Paragraph默认中的所有Run默认显示为带下划线。

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

1 个答案:

答案 0 :(得分:1)

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

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

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