2015-12-24 42 views
7

Nie wiem, jak opisać mój problem, ale wyobraź sobie posiadanie TextBox w WPF z długim tekstem. Mam ustawiony TextWrapping="Wrap" aby zapobiec cały ciąg jest wyświetlany w jednej linii, ale chcę, aby moje żądło być przedstawione następująco:Przerywanie słów w polu tekstowym (z TextWrapping = Wrap)

Lorem ipsum dolor sit amet, consectetur adipiscing el 
it. Fusce ligula nulla, cursus finibus mauris vel, rh 
oncus blandit sem. Fusce fermentum sed sem a porttito 
r. Proin id convallis ex. 

zamiast tego:

Lorem ipsum dolor sit amet, consectetur adipiscing 
elit. Fusce ligula nulla, cursus finibus mauris vel, 
rhoncus blandit sem. Fusce fermentum sed sem a 
porttitor. Proin id convallis ex. 

Różnica polega na tym, że pierwszy tekst ma „bezwarunkowego” po każdym n znaków - drugi tekst jest zawijany, że każda linia nie przekracza długości n znaków


Czy muszę wstawić znak \n po każdym znaku n-th, czy też istnieje właściwość WPF, która może rozwiązać to za mnie?


Dziękuję bardzo i Wesołych Świąt dla was wszystkich :)

+0

dosent wrapwithoverflow robi to za Ciebie? – Muds

+0

@Muds: Unfortunatly - to nie, SIr. – Unknown6656

Odpowiedz

3

Nie sądzę, nie ma bezpośrednia właściwość do osiągnięcia wyniku. TextTrimming własność jest dostępna tylko dla TextBlock. Lepiej jest dodać linebreak, aby osiągnąć wynik.

2

Wystarczy spróbować z TextAlignment = "justify"

<TextBox TextAlignment="Justify" TextWrapping="Wrap" Height="250" MinWidth="250 " Width="250" Text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce ligula nulla, cursus finibus mauris vel, rhoncus blandit sem. Fusce fermentum sed sem a porttitor. Proin id convallis ex."/> 
+0

Niestety, nie zmieniło wyniku:/ – Unknown6656

+1

"Twarde cięcie" nie jest możliwe, ale doda dodatkowe miejsce do wyrównania tekstu –