Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Diferença da tag Label em XAML

Olá galera, tudo bem?

Procurei na Internet mas não achei nada respondendo minha dúvida bem específica, então venho aqui pedir explicações.

Qual é a diferença em escrever no XAML de:

<Label Text="Qualquer coisa" />

para:

<Label>Qualquer coisa</Label>

se as duas imprimem na tela a mesma coisa?

Eu sei que deve ter diferenças para o desenvolvimento, mas quais? Estou na dúvida!

Desde já, agradeço!

2 respostas
solução!

Olá, Eduardo!

Com Xamarin podem existir maneiras diferentes de se atingir o mesmo objetivo.

Por exemplo, podemos usar a sintaxe de atributo para definir o texto do Label:

<Label Text="Qualquer coisa" />

O mesmo pode ser feito utilizando a sintaxe de elemento de propriedade:

<Label>
   <Label.Text>
      Qualquer coisa
   </Label.Text>
</Label>

Como o Text é a propriedade default do Label, a sintaxe de elemento de propriedade pode ser reescrita resumidamente como:

<Label>
   Qualquer coisa
</Label>

Agora, existe diferença prática entre essas abordagens? Sim, existe. Na sintaxe de atributo, podemos utilizar um binding na propriedade Text. Por exemplo, imagine uma propriedade Login retornando o valor "Eduardo":

<Label Text="{Binding Login}"></Label>

O label acima exibiria o valor: "Eduardo".

Já na sintaxe de elemento de propriedade o valor utilizado é sempre literal, então o binding não funciona. Se fizermos:

<Label>
   {Binding Login}
</Label>

O label acima exibiria o valor: "{Binding Login}".

Ou seja, a sintaxe de elemento de propriedade é mais limitada que a sintaxe de atributo.

Boa sorte e bons estudos!

Show de bola, deu pra entender a diferença! Muito obrigado!