Wie kann ich definieren, wie viele Leerzeichen ein TAB-Sprünge in einer XAML-TextBox?
Wenn der Benutzer drückt eine Registerkarte in dieses Textfeld, der cursor springt ein äquivalent 8 Räume.
Wie kann ich es ändern, so springt er nur 4 oder 2?
<TextBox
Width="200"
Height="200"
Margin="0 0 10 0"
AcceptsReturn="True"
AcceptsTab="True"
Text="{Binding OutlineText}"/>
- Edward, wenn ich schlage vor, die Lösung mit dem ersetzen von tabs durch Leerzeichen, wird es für Sie arbeiten?
- Ich habe noch nie gesehen, es geschieht in XAML. Nur in der eigentlichen Redaktion.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Ihre eigene TextBox-Steuerelement zu geben, das den gewünschten Effekt:
Dann verwenden Sie einfach die folgende in Ihrem xaml:
Siehe folgende original-Antwort: http://social.msdn.microsoft.com/Forums/en/wpf/thread/0d267009-5480-4314-8929-d4f8d8687cfd
+1
aufbase.CaretIndex =
ich würde wahrscheinlich ziehen Sie denString tab...
Linie und legen Sie es in denTabSize
Set-so sind Sie TROCKEN-er in der Ausführung, und vor allem, wenn Sie nicht hinzufügenbase.SelectedText = string.Empty;
für die erste Zeile nach Ihrenif
Klausel, merkwürdige Dinge passieren, wenn jemand, sagen wir, highlights ein Wort und trifft tab, erwarten Sie das Wort, um zu verschwinden und ersetzt werden durch die Registerkarte "Zeichen". Sonst sehr schön!Ich schlage vor, Sie nehmen einen Blick auf Typografie-Eigenschaft der TextBox. Obwohl ich konnte nicht sofort finden Sie alles über die Registerkarte Größe, dies ist die Eigenschaft, beeinflusst die Art, wie der text wiedergegeben wird, indem Sie die Textfeld, so dass es möglicherweise auch das, was du bist suchen für.
Versuchen, ein Steuerelement, können Sie die Registerkarte Größe. Vielleicht http://wpfsyntax.codeplex.com/
tun?
Einem problem mit der Lösung von Jason vorgesehen ist, dass die änderung den Text löschen, wird der rückgängig-Stapel. Eine alternative Lösung ist die Verwendung der Paste-Methode. Um dies zu tun, müssen Sie zuerst kopieren Sie Ihre tab-string in die Zwischenablage.