Win8 seems to randomly break IValueConverter by making the last parameter a string instead of CultureInfo! I haven’t found the correct way to fix this, but at least this compiles Win8 and WP8:
public class BooleanConverter<T> : IValueConverter
{
public BooleanConverter(T trueValue, T falseValue)
{
True = trueValue;
False = falseValue;
}
public T True { get; set; }
public T False { get; set; }
public virtual object Convert(object value, Type targetType, object parameter, string language)
{
return value is bool && ((bool)value) ? True : False;
}
public virtual object ConvertBack(object value, Type targetType, object parameter, string language)
{
return value is T && EqualityComparer<T>.Default.Equals((T)value, True);
}
#if !WINFX_CORE
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return Convert(value, targetType, parameter, "");
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return ConvertBack(value, targetType, parameter, "");
}
#endif
}
No comments:
Post a Comment