Mam TextBox
etykietę i. Po kliknięciu przycisku wykonuję następujący kod:
label1.Content = textbox1.Text;
Moje pytanie brzmi: jak włączyć zawijanie tekstu etykiety? W jednym wierszu może być za dużo tekstu, aby w razie potrzeby automatycznie zawinąć go w wiele wierszy.
IsReadOnly="true"
naśladowaćTextBlock
zTextBox
? -TextBlock
są tylko do odczytu, ponieważ WPF był kodowany o nazwie „Avalon”.Padding="5"
dopasowanie do wypełnienia w moich innychLabel
kontrolkach w formularzu. Zobacz odpowiedź Rajesha poniżej.Często nie możesz zamienić na
Label
a,TextBlock
ponieważ chcesz użyćTarget
właściwości (która ustawia fokus na docelową kontrolkę podczas korzystania z klawiatury, np. ALT + C w przykładowym kodzie poniżej), ponieważ to wszystkoLabel
naprawdę oferuje ponadTextBlock
.Jednak
Label
używa aTextBlock
do renderowania tekstu (jeśli ciąg jest umieszczony weContent
właściwości, którą zwykle jest); dlatego możesz dodać styl dlaTextBlock
tegoLabel
typu, tak:W ten sposób możesz zachować funkcjonalność przez
Label
chwilę, a także mieć możliwość zawijania tekstu.źródło
Użyłem następującego kodu.
źródło
Możesz umieścić TextBlock wewnątrz etykiety:
źródło
Aby zawinąć tekst w kontrolkę etykiety, zmień szablon etykiety w następujący sposób:
źródło
Zamiast używać klasy Label, poleciłbym użycie TextBlock . To pozwala odpowiednio ustawić TextWrapping .
Zawsze możesz zrobić:
Jeśli jednak cała ta „etykieta” służy do wyświetlania tekstu, użyj
TextBlock
zamiast niej.źródło
Label label1 = new Label() { Content = new TextBlock() { Text = caption, TextWrapping = TextWrapping.Wrap }, FontWeight = FontWeights.Normal };
Musimy wprowadzić kontrolę, która może zawijać tekst, na przykład blok tekstu / pole tekstowe
źródło
spróbuj tego
źródło
źródło
Użyłem tego, aby pobrać dane z bazy danych MySql:
źródło