Работает ли переопределение подчеркивания / зачеркивания в WPF RichTextBox?

StackOverflow https://stackoverflow.com/questions/2553763

  •  23-09-2019
  •  | 
  •  

Вопрос

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

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

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

Это было полезно?

Решение

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

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

Однако в вашем случае вы хотите переопределить его только при определенном запуске, не так ли?Затем вы можете проверить свой запуск внутри внутреннего if и заблокировать его точно так же, если хотите.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top