/// <inheritdoc/> public override object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { var collection = (IList)parameter; if (collection == null) { return(null); } var index = ConverterHelper.ConvertToInt32(value ?? -1, culture); if (index < 0 || index >= collection.Count) { return(null); } return(collection[index]); }
public override object Convert([NotNull] object[] values, Type targetType, object parameter, CultureInfo culture) { if (values.Length < 2) { throw new InvalidOperationException("This multi converter must be invoked with at least two elements"); } var result = 1.0; try { result = values.Select(x => ConverterHelper.ConvertToDouble(x, culture)).Aggregate(result, (current, next) => current * next); } catch (Exception exception) { throw new ArgumentException("The values of this converter must be convertible to a double.", exception); } return(result); }
public override object Convert(object value, Type targetType, object parameter, CultureInfo culture) { double scalar; try { scalar = ConverterHelper.ConvertToDouble(value, culture); } catch (Exception exception) { throw new ArgumentException("The value of this converter must be convertible to a double.", exception); } if (!(parameter is Size)) { throw new ArgumentException("The parameter of this converter must be an instance of the Size structure. Use {sskk:Size (arguments)} to construct one."); } var size = (Size)parameter; var result = new Size(size.Width * scalar, size.Height * scalar); return(result); }
/// <inheritdoc/> public override object Convert(object value, Type targetType, object parameter, CultureInfo culture) { double scalar; try { scalar = ConverterHelper.ConvertToDouble(value, culture); } catch (Exception exception) { throw new ArgumentException("The value of this converter must be convertible to a double.", exception); } if (!(parameter is Thickness)) { throw new ArgumentException("The parameter of this converter must be an instance of the Thickness structure. Use {sskk:Thickness (arguments)} to construct one."); } var thickness = (Thickness)parameter; var result = new Thickness(thickness.Left * scalar, thickness.Top * scalar, thickness.Right * scalar, thickness.Bottom * scalar); return(result); }
public override object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { var seconds = ConverterHelper.ConvertToDouble(value, culture); return(TimeSpan.FromSeconds(seconds)); }
/// <inheritdoc/> public override object Convert(object value, Type targetType, object parameter, CultureInfo culture) { var result = ConverterHelper.ConvertToBoolean(value, culture); return(result ? parameter : DependencyProperty.UnsetValue); }
/// <inheritdoc/> public override object Convert(object value, Type targetType, object parameter, CultureInfo culture) { var result = ConverterHelper.ConvertToBoolean(value, culture); return(!result); }
/// <inheritdoc/> public override object Convert(object value, Type targetType, object parameter, CultureInfo culture) { var unicodeValue = ConverterHelper.ConvertToInt32(value, culture); return(unicodeValue); }