Est-il possible d'ajouter des couleurs dynamiques à un ..i.e TextBlock. avoir un caractère dans une couleur et la suivante dans une autre couleur.
<TextBlock Text="{Binding no}" TextWrapping="Wrap" Margin="10,0,0,0" Style="{StaticResource PhoneTextSubtleStyle}" FontSize="40" Foreground="#A400C4FF" > // Can we add something here to specify what colours for what chars </TextBlock>
4 Réponses :
Le Vous pouvez recréer ce comportement en utilisant plusieurs blocs de texte (un pour chaque lettre) et en les plaçant dans un wrappanel. Vous pouvez ensuite changer la couleur des caractères / lettres individuels que vous le souhaitez. textblock code> ne prend pas en charge plusieurs couleurs de premier plan de premier plan. P>
Méfiez-vous de l'impact probable des performances que cela pourrait avoir. Les marges autour des lettres individuelles devront être ajustées pour recréer le comportement standard. Soyez particulièrement prudent autour de la ponctuation. P>
Donc, deux choses. 1. Oui, il fait avec
Je me développe pour la mangue avec le SDK WP7. Vous pouvez utiliser un <TextBlock>Hello<Run Foreground="Bisque" Text=" Holla "></Run>and hello again!</TextBlock>;
Comment puis-je définir le texte dans cette balise d'exécution de manière dynamique?
En réalité, vous pouvez, qui peut être utile lorsque vous faites une StringFormat sur une textblock à liaison de données ou un certain nombre d'autres endroits.
Si vous vouliez essayer cependant, comme s'il est un exemple de SL pour Une étiquette de formulaire qui met un astérisque rouge à côté des champs de texte requis, mais peut également y ajouter plus de choses comme indiqué dans l'exemple. Devrait fonctionner pour Silverlight, WPF, UWP, etc ... P>
<TextBlock> <Run Text="*" Foreground="#FFE10101"/><Run Text="Required Line" /> <Run Text="Red" Foreground="Red"/> <Run Text="Blue" Foreground="Blue"/> <Run Text="{Binding SomeString, StringFormat='Hell ya you can make \{0\} a different color!'}" Foreground="Orange"/> </TextBlock>
Pour définir la couleur de premier plan de manière dynamique sur un textblock p>
Utilisation: TxtBlockName.foreground = nouveau SolidColorBrush (couleurs.Yellow); P>