Mam TextBlock, który musiWPF textblock zoom i owinąć
- pokazu tekstu w maksymalnym rozmiarze czcionki możliwe w danej przestrzeni (mniej znaków większymi literami i vice-versa)
- zawinąć tekst w podana przestrzeń.
Próbowałem użyć pola tekstowego wewnątrz okna podglądu, jak poniżej, ale zawijanie tekstu nie działa, jeśli nie określam szerokości i wysokości bloku tekstu. Jeśli określę szerokość i wysokość w tym samym rozmiarze co widok, to oczywiście nie nastąpi powiększenie.
<Viewbox Stretch="Fill" Width="100" Height="100">
<TextBlock TextWrapping="Wrap"/>
</Viewbox>
Czy istnieje inny sposób, aby to osiągnąć? Czy powinienem pomyśleć o napisaniu algorytmu, aby ręcznie zwiększyć rozmiar czcionki na podstawie ilości tekstu? Każda pomoc jest doceniana.
Można ręcznie zrobić przerwę linii obsługując zdarzenie PreviewKeyDown lub PreviewKeyUp i sprawdzić, czy został osiągnięty limit długości tekstu. Innym sposobem na osiągnięcie tego samego wyniku: Utwórz niestandardowy konwerter i zrób tam przerwę. Możesz przekazać parametr lub użyć pola, aby określić MaxLength. – 0xbadf00d