2017-08-31 1 views
0

J'ai un libellé lié à une propriété, de sorte que lorsque cette propriété est mise à jour, l'étiquette est mise à jour. Mais, par exemple, si la propriété a la valeur 500, l'étiquette affiche seulement "5", au lieu de "500". Si je supprime la liaison et l'étiquette de code rigide = "500", la chaîne entière apparaît. Quel est le problème? Mon code ressemble à quelque chose comme ça ...Reliure Xamarin, libellé affichant uniquement 1 caractère

var myLabel = new Label 
{ 
    HorizontalOptions = LayoutOptions.Center, 
    VerticalOptions = LayoutOptions.Center, 
    FontSize = 30, 
    TextColor = Color.Red 
}; 

myLabel.SetBinding(Label.TextProperty, new Binding("SomeProperty", source:this); 

// where SomeProperty is a property that gets an integer value dynamically 

donc, l'exécution de code semblable à celui, l'étiquette est sortie comme « 5 » (en supposant SomeProperty = 500, si SomeProperty est 432354, l'étiquette indique que « 4 »). Cependant, si au lieu de fixer la liaison, je fais

myLabel = "500"; 

alors, l'étiquette montre "500".

Pourquoi la reliure coupe-t-elle la corde ???

+2

vous devez spécifier une WidthRequest – Jason

Répondre

3

Ce n'est pas la liaison coupant votre chaîne, elle est la taille de Label ne changeant pas dynamiquement pour votre contenu. Réglez-le directement en définissant WidthRequest ou MinimumWidthRequest propriétés

+0

Wow, je ne peux pas croire que je n'ai pas compris cela. C'était ça. Merci beaucoup. – Jimmy