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.

?View Code CSHARP
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

Be Sociable, Share!