J'essaie d'écrire un convertisseur de valeur pour lier la propriété Boolean IsChecked d'un ToggleButton WPF à une valeur non booléenne (qui se trouve être un double) dans mon modèle. La fonction de conversion que j'ai écrit ressemble à ceci:Propriété ValueConverter for IsChecked de WPF Toggle Button
public object Convert(object value, Type targetType, object paramter, System.Globalization.CultureInfo culutre)
{
if (targetType != typeof(Boolean))
throw new InvalidOperationException("Target type should be Boolean");
var input = double.Parse(value.ToString());
return (input==0.0) ? false: true;
}
Le problème est que lorsque l'funcion est invoquée, le targetType est pas ce que je pense - c'est
"System.Nullable`1[[System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"
Plutôt que System.Boolean. Est-ce prévu? J'ai écrit d'autres convertisseurs sans souci dans le passé.
+1 pour mentionner .HasValue. Lorsque j'ai commencé à utiliser des types Nullable, j'ai eu des problèmes en accédant à Value sans vérifier HasValue. @ _ @ –