De acordo com o Windows Applications Development with Microsoft .NET 4 70-511 Training Kit
Qual é a diferença entre Label
controle e TextBlock
controle, pois ambos são controles de conteúdo e apenas exibem texto?
De acordo com o Windows Applications Development with Microsoft .NET 4 70-511 Training Kit
Qual é a diferença entre Label
controle e TextBlock
controle, pois ambos são controles de conteúdo e apenas exibem texto?
Respostas:
TextBlock não é um controle
Embora
TextBlock
viva no espaço para nome System.Windows.Controls, não é um controle. Deriva diretamente deFrameworkElement
. A etiqueta, por outro lado, deriva deContentControl
. Isso significa queLabel
pode:Template
propriedade).Content
propriedade).DataTemplate
ao seu conteúdo (através daContentTemplate
propriedade).Faça o que mais a
ContentControl
pode fazer e aFrameworkElement
não pode.Label
o texto fica acinzentado quando desativadoLabel
suporta chaves de acessoLabel
é muito mais pesado queTextBlock
Fonte
Algumas leituras mais interessantes abaixo
fonte
As etiquetas geralmente suportam saída de texto em linha única, enquanto o TextBlock é destinado à exibição de texto em várias linhas.
Por exemplo, no wpf, o TextBlock possui uma propriedade
TextWrapping
que permite a entrada de várias linhas ; A etiqueta não possui isso.fonte
Label
é oContentControl
que significa que você pode definir qualquer coisa como conteúdo para ele. Absolutamente qualquer coisa, incluindo strings, números, datas, outros controles, imagens, formas, etc.TextBlock
pode lidar apenasstrings
.fonte
Embora TextBlock e Label sejam usados para exibir texto, eles são bem diferentes nas capas.
=> O rótulo herda do ContentControl , uma classe base que permite a exibição de praticamente qualquer interface do usuário imaginável.
=> TextBlock , por outro lado, herda diretamente do FrameworkElement , perdendo assim o comportamento comum a todos os elementos herdados do Control. A hierarquia superficial de herança do TextBlock torna o controle mais leve que o Label e mais adequado para cenários mais simples e não interativos.
PS: No entanto, se você deseja que as teclas de acesso funcionem ou deseja um design gráfico ou mais flexível, precisará usar o Label.
fonte
Provavelmente, o recurso mais irritante
TextBlock
é o comportamento implícito de pesquisa de estilo, cujo escopo é apenas o mais próximo possívelDataTemplate
. Este é um comportamento padrão paraControl
elementos não xaml.Rende um resultado de:
Você pode ler mais sobre isso aqui .
fonte