2013-05-26 1 views
1

제스처를 기반으로 텍스트 서식을 수행하는 WPF 4.0 멀티 터치 응용 프로그램을 구현하고 있습니다. 몇 가지 종류의 텍스트 서식을 만들었지 만 텍스트 들여 쓰기 (MS Word 스타일)를 구현하는 데 어려움을 겪고 있습니다. MS 워드 스타일, 나는/떠날 때 우측 들여 쓰기가 수행 의미 :WPF (Richtextbox 사용)에서 MS Word 스타일 텍스트 들여 쓰기

  • 을 선택한 텍스트가 하나의 단락 (또는 낮은)에 달한다 경우, 들여 쓰기를 그 전체 단락.
  • 텍스트를 선택하지 않으면 캐럿이있는 전체 단락을 들여 씁니다.
  • 선택한 텍스트가 두 개 이상의 단락에 해당하는 경우 선택한 단락 전체를 들여 씁니다. 이 경우 단락은 부분적으로 또는 완전히 선택 될 수 있습니다.

몇 가지 해결책을 찾았지만 지금은 나에게 맞는 솔루션이 없습니다. 내 XAML 파일에서 만든 RichTextBox 컨트롤을 사용합니다. 나는 코드 뒤에서 텍스트 들여 쓰기를 수행하려고한다. 누군가 이걸 어떻게 얻을 수 있는지 알려주시겠습니까? 고맙습니다.

답변

1

코드에서이 작업을 수행하겠다고 말했지만이 모든 작업은 XAML 자체에서 수행 할 수 있습니다. 당신이 C#을 사용하고 있다고 상상해보십시오.

using System.Windows.Documents;

XAML (I가 버튼 예제를 사용할 것, 명령은 어디서나 사용할 수 있습니다) :

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

위에 나열된 요구 사항을 모두 만족합니다 EditingCommands 사용.

  • 선택한 텍스트가 하나의 단락 (또는 낮은)에 달한다 경우 전체 단락이, 들여 쓰기.
  • 텍스트를 선택하지 않으면 캐럿이있는 전체 단락을 들여 씁니다.
  • 선택한 텍스트가 두 개 이상의 단락에 해당하는 경우 선택한 단락 전체를 들여 씁니다. 이 경우 단락은 부분적으로 또는 완전히 선택된 일 수 있습니다.

또한 증가 덴트 핫키가 감소에서 Ctrl + T 각각 Ctrl 키 + 시프트 + T.

자세한 내용은 여기에서 볼 수 있습니다 : http://msdn.microsoft.com/en-us/library/system.windows.documents.editingcommands(v=vs.100).aspx

+0

그것이 내가 구현하고 제스처 기반 응용 프로그램이기 때문에 내가 버튼을 사용할 수 없습니다. 그러나 당신이 제안한 EditingCommands를 사용하여, 나를 위해 원하는 결과를 얻었습니다. 고맙습니다! – user1449265

관련 문제