J'utilise Xamarin et je crée ma vue avec XAML et je ne peux pas, pour la vie, obtenir que cette étiquette enveloppe comme je le souhaite. Si l'étiquette arrive au bord de l'écran, je veux qu'elle s'enroule comme ceci ...
En ce moment, ça ressemble à ça ...
Voici mon code:
<StackLayout Orientation="Vertical" HorizontalOptions="StartAndExpand" BindingContext="{Binding CurrentProviderDetails}" Padding="20,20,20,20" >
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<!--Certification Board-->
<StackLayout Orientation="Horizontal" HorizontalOptions="StartAndExpand" Grid.Row="0" Grid.Column="0" >
<Label Text="Certification Board: " FontSize="13" HorizontalOptions="Fill" VerticalOptions="CenterAndExpand" />
<Label Text="{Binding Certification}" VerticalOptions="CenterAndExpand" HorizontalOptions="Center" Font="17" LineBreakMode="WordWrap"/>
</StackLayout>
</Grid>
</StackLayout>
Cela n'a pas besoin d'être dans une grille; c'était juste la méthode que j'essayais pour l'instant. Ma seule exigence est que "Conseil de certification" soit une étiquette et je dois transmettre une valeur que Word enveloppe à la fin de l'écran. Toute aide serait géniale, merci!
Placez une balise LineBreakMode = "NoWrap" dans vos étiquettes. De cette façon, vous pouvez éviter le wrap.
Mais si vous n'avez pas assez d'espace, la Parole sera coupée.
Vous pouvez obtenir l'aspect souhaité en combinant les deux étiquettes contenues dans votre StackLayout aligné horizontalement en une seule étiquette et en définissant LineBreakMode = "WordWrap". XAML a une fonctionnalité intéressante appelée StringFormat. Vous pouvez utiliser ceci pour ajouter le texte statique "Certification Board:" à la propriété de certification liée. Votre étiquette devrait ressembler à ceci:
<Label Text="{Binding Certification, StringFormat='Board Certification:{0:F0}'}" LineBreakMode="WordWrap"/>