В WPF RichTextBox работает переопределение подчеркивания / зачеркивания? - PullRequest
0 голосов
/ 31 марта 2010

В WPF RichTextBox эффективный стиль текста Run является результатом сочетания свойств, определенных в Run, со свойствами, которые он «наследует» от включающего Paragraph и, наконец, стилей на Document. Таким образом, вы можете установить FontWeight на Bold на любом из этих уровней. Вы также можете установить Bold на Paragraph и затем переключить его на Normal (переопределить) для определенного Run.

Однако подчеркивание и зачеркивание различны. Это элементы, которые могут отображаться в списке TextDecorations, который является свойством Inline (и, следовательно, Run) и Paragraph, но не Document. И вы можете включить Underline в Paragraph, и он будет унаследован, так что все Run в пределах этого Paragraph значения по умолчанию будут подчеркнуты.

Возможно ли его отключить подчеркиванием в определенном Run? есть ли способ вставить запись в список TextDecorations, которая будет означать " Не подчеркивание", переопределяя таким образом настройку Paragraph?

1 Ответ

1 голос
/ 31 марта 2010

Я знаю, что вы можете в основном обрабатывать подчеркивание следующим образом:

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 и заблокировать его точно так же, как вы хотите.

...