2013-05-26 4 views
1

Я реализую многозадачное приложение WPF 4.0, которое выполняет форматирование текста на основе жестов. Хотя мне удалось добиться нескольких видов форматирования текста, мне трудно понять текстовое отступы (стиль MS Word). По типу слов MS, я имею в виду, когда выполняется отступы влево/вправо:Текстовый отступ текстового текста в WPF (с использованием Richtextbox)

  • Если выбранный текст равен одному абзацу (или меньшему), отступы этого абзаца.
  • Если текст не выбран, отпечатайте весь абзац, в котором находится каретка.
  • Если выбранный текст составляет более одного абзаца, отступьте все выбранные абзацы целиком. В этом случае абзацы могут быть частично или полностью выбраны.

Я нашел несколько решений, но ни один из них не работает для меня на данный момент. Я использую элемент управления RichTextBox, который я создал в своем файле XAML. Я хочу выполнить отступ текста в коде позади. Может кто-нибудь, пожалуйста, дайте мне знать, как я могу это достичь? Спасибо.

ответ

1

Вы упомянули, что хотите сделать это в коде позади, но все это можно сделать в самой XAML. Я полагаю, вы используете C#.

using System.Windows.Documents;

XAML (я буду использовать пример кнопки, команда может быть использована в любом месте):

<Button Name="increaseIndentButton" Command="EditingCommands.IncreaseIndentation"/> 
<Button Name="decreaseIndentButton" Command="EditingCommands.DecreaseIndentation"/> 
<RichTextBox Name="myRichTextBox" AcceptsTab="True"/> 

Использование EditingCommands будет удовлетворять все ваши требования, перечисленных выше.

  • Если выбранный текст составляет один абзац (или меньше), отступов, что весь пункт.
  • Если текст не выбран, отпечатайте весь абзац, в котором находится каретка.
  • Если выбранный текст составляет более одного абзаца, отступьте все выбранные абзацы целиком. В этом случае абзацы могут быть частично или полностью выбраны.

Кроме того, увеличение и уменьшение отступа имеют горячих клавиш, Ctrl + T, и Ctrl + Shift + T, соответственно.

Более подробная информация доступна здесь: http://msdn.microsoft.com/en-us/library/system.windows.documents.editingcommands(v=vs.100).aspx

+0

Я не могу использовать кнопки, так как это жест приложение, которое я реализую. Но использование редактируемых команд, которые вы предложили, принесло мне желаемые результаты. Спасибо! – user1449265

Смежные вопросы