Comment mettre un texte en majuscule dans un control Textblock utilisant le binding
Depuis que je travaille pour Isobar, société de communication digitale, j’ai eu l’occasion de travailler sur des applications mobiles Windows Phone.
Un problème auquel j’ai été confronté a été de mettre un texte en majuscule dans un control Textblock utilisant le binding
Voici la solution que je juge la plus adaptée pour répondre au problème: utiliser le Converter.
Converter
Tout d’abord on crée notre Converter qui va implémenter l’interface IValueConverter.
namespace WindowsPhoneLibrary.Converters { public class UpperCaseConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { return value.ToString().ToUpper(); } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } } |
Xaml
Maintenant que le Converter a été créé on va l’utiliser dans un page Xaml.
Les éléments à ajouter sont les suivants:
- dans les références de la page
xmlns:conv="clr-namespace:WindowsPhoneLibrary.Converters;assembly=WindowsPhoneLibrary"
- dans les ressources du control Grid
<conv:UpperCaseConverter x:Key="UpperCaseConverter" />
- au niveau du control Textblock
<TextBlock Text="{Binding Name, Converter={StaticResource UpperCaseConverter}}" />
Conclusion
Dans cet article on aura vu comment créer un Converter permettant de mettre en majuscule le texte d’un control Textblock utilisant le binding
