2

我正在实现一个 WPF 4.0 多点触控应用程序,它基于手势执行文本格式化。虽然我已经设法实现了几种文本格式,但我很难实现文本缩进(MS Word 样式)。通过 MS word 样式,我的意思是当执行左/右缩进时:

  • 如果所选文本为单个段落(或更少),则缩进整个段落。
  • 如果未选择任何文本,则缩进整个段落,其中存在插入符号。
  • 如果所选文本超过一个段落,则将所有所选段落全部缩进。在这种情况下,可以部分或全部选择段落。

我找到了一些解决方案,但目前似乎没有一个对我有用。我使用了我在 XAML 文件中创建的 RichTextBox 控件。我想在后面的代码中执行文本缩进。有人可以让我知道如何实现这一目标吗?谢谢你。

4

1 回答 1

3

您提到您希望在后面的代码中执行此操作,但这一切都可以在 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

于 2013-07-05T17:38:41.450 回答