Je dois CONVRT un double à l'aide d'un autre convertisseur et un paramètre:"1/3" comme ConverterParameter
Ceci est mon talon XAML:
Converter={StaticResource ToOtherDoubleConverter}, ConverterParameter=-1/2
c'est le convertisseur:
[ValueConversion(typeof(double), typeof(double))]
public class DoubleToOtherDoubleConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter,
CultureInfo culture)
{
return (double)value * double.Parse(parameter.ToString());
}
maintenant, cela ne sert à rien de dire que cela dépend de la culture, etc ..
est-il un moyen de « hardcode » un do Peut-on reconnaître le double? Parce que la variante ci-dessus pourrait être écrit de différentes façons, par exemple .:
ConverterParameter=-1/2
ConverterParameter=-0.5
ConverterParameter=-0,5
etc.
ou encore
double.Parse(parameter.ToString());
(double)parameter;
etc ...
une question:
Comment Je spécifie 1/3
dans le format flottant? quelque chose comme
ConverterParameter=0.333333333333333333333333333333333333333333333333333333
Etes-vous sûr qu'il est passé en être comme une valeur numérique du tout? D'après mon expérience, la plupart des valeurs XAML finissent par passer comme des chaînes, même si elles ressemblent à des chiffres ... –
@Dan Puzey: comme «objet» en général ... comme des cordes peut-être enfin, c'est pourquoi je demande, parce que don 't know :) – serhio
Si vous mettez un point d'arrêt sur la première ligne de votre convertisseur, vous pouvez vérifier 'value.GetType()' et voir ce qu'il est passé comme ... –