Eu tenho um TextBox
e um rótulo. Depois de clicar em um botão, eu executo o seguinte código:
label1.Content = textbox1.Text;
Minha pergunta é: como habilito a quebra de texto do rótulo? Pode haver muito texto para ser exibido em uma linha, e eu quero que ele seja quebrado automaticamente em várias linhas, se for o caso.
IsReadOnly="true"
para imitar um Label :) #TextBlock
comTextBox
? -TextBlock
foram somente leitura desde que o WPF recebeu o código "Avalon".Padding="5"
para coincidir com o preenchimento em meus outrosLabel
controles no formulário. Veja a resposta de Rajesh abaixo.Freqüentemente, você não pode substituir a
Label
por aTextBlock
como deseja usar aTarget
propriedade (que define o foco no controle de destino ao usar o teclado, por exemplo, ALT + C no código de exemplo abaixo), pois isso é tudo o queLabel
realmente oferece sobre aTextBlock
.No entanto, a
Label
usa aTextBlock
para renderizar texto (se uma string for colocada naContent
propriedade, como normalmente é); portanto, você pode adicionar um estilo paraTextBlock
dentro,Label
assim:Dessa forma, você mantém a funcionalidade de um
Label
enquanto também é capaz de quebrar o texto.fonte
Eu usei o seguinte código.
fonte
Você pode colocar um TextBlock dentro do rótulo:
fonte
Para quebrar o texto no controle de rótulo, altere o modelo de rótulo da seguinte maneira:
fonte
Em vez de usar uma classe Label, eu recomendaria o uso de um TextBlock . Isso permite que você defina o TextWrapping adequadamente.
Você sempre pode fazer:
No entanto, se todo esse "rótulo" é para exibir texto, use um
TextBlock
.fonte
Label label1 = new Label() { Content = new TextBlock() { Text = caption, TextWrapping = TextWrapping.Wrap }, FontWeight = FontWeights.Normal };
Precisamos colocar algum tipo de controle que possa quebrar texto como bloco de texto / caixa de texto
fonte
tente usar isso
fonte
fonte
Eu usei isso para recuperar dados do banco de dados MySql:
fonte