Como obtenho a formatação de um texto dentro de um TextBlock
controle em meu aplicativo WPF?
Ex: gostaria de ter certas palavras em negrito, outras em itálico e algumas em cores diferentes, como este exemplo:
A razão por trás da minha pergunta é este problema real:
lblcolorfrom.Content = "Colour From: " + colourChange.ElementAt(3).Value.ToUpper();
Gostaria que a segunda parte da string estivesse em negrito e sei que poderia usar dois controles (Labels, TextBlocks, etc.), mas prefiro não, devido à grande quantidade de controles já em uso.
c#
wpf
wpf-controls
Cinza
fonte
fonte
Existem vários
Inline
elementos que podem ajudá-lo, por mais simples opções de formatação que você pode usarBold
,Italic
eUnderline
:Acho que é importante notar que esses elementos são, na verdade, apenas abreviações para
Span
elementos com várias propriedades definidas (ou seja: paraBold
, aFontWeight
propriedade é definida comoFontWeights.Bold
).Isso nos leva à nossa próxima opção: o
Span
elemento mencionado .Você pode obter os mesmos efeitos com este elemento acima, mas tem ainda mais possibilidades; você pode definir (entre outros) o
Foreground
ou asBackground
propriedades:O
Span
elemento também pode conter outros elementos como este:Existe outro elemento, que é bastante semelhante a
Span
, é chamadoRun
. ARun
não pode conter outros elementos inline enquanto aSpan
lata, mas você pode facilmente vincular uma variável para oRun
'sText
propriedade:Além disso, você pode fazer toda a formatação a partir do code-behind, se preferir:
fonte
Veja este exemplo de Charles Petzolds Bool Application = Code + markup
fonte
um bom site, com boas explicações:
http://www.wpf-tutorial.com/basic-controls/the-textblock-control-inline-formatting/
aqui o autor dá bons exemplos do que você está procurando! Overal, o site é ótimo para material de pesquisa, além de cobrir uma grande quantidade de opções que você tem no WPF
Editar
Existem diferentes métodos para formatar o texto. para uma formatação básica (a mais fácil na minha opinião):
Exemplo 1 mostra formatação básica com Negrito Itallic e texto sublinhado.
A seguir inclui o método SPAN, com isso você pode destacar o texto:
O exemplo 2 mostra a função span e as diferentes possibilidades com ela.
Para uma explicação detalhada consulte o site!
Exemplos
fonte
Esta é a minha solução ....
Estou aprendendo ... então, se alguém tiver dúvidas sobre a solução acima, compartilhe! :)
fonte