Vous pouvez utiliser un convertisseur de valeur pour retourner un préfixe de chaîne:
class PrefixValueConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
string s = value.ToString();
int prefixLength;
if (!int.TryParse(parameter.ToString(), out prefixLength) ||
s.Length <= prefixLength)
{
return s;
}
return s.Substring(0, prefixLength);
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotSupportedException();
}
}
Et en XAML:
<Window.Resources>
...
<local:PrefixValueConverter x:Key="PrefixValueConverter"/>
</Window.Resources>
...
...{Binding Path=TheProperty, Converter={StaticResource PrefixValueConverter},
ConverterParameter=1}...
Au lieu de lancer 'NotImplementedException' dans ConvertBack, lancez' NotSupportedException'. NIE est pour le code qui n'est pas encore implémenté mais le sera bientôt. Ici: http://stackoverflow.com/questions/410719/notimplementedexception-are-they-kidding-me –
TBH, Il n'a en fait pas encore été implémenté, en suivant vos conseils, il est maintenant :) –
Oui ... merci Aviad, en fait Je cherchais à éviter d'utiliser un convertisseur. Mais il semble qu'il n'y ait aucun moyen de contourner ... thx – biju