using System; using System.Globalization; using System.Windows.Data; using System.Windows.Markup; namespace UpgradePackageUploadTool.Extensions { [MarkupExtensionReturnType(typeof(IValueConverter))] public class FileSizeConverterExtension : MarkupExtension { private FileSizeConverter _converter; public override object ProvideValue(IServiceProvider serviceProvider) { return _converter ?? (_converter = new FileSizeConverter()); } private class FileSizeConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value is int) { return Math.Round((int)value / 1024 / 1024d, 2).ToString() + " MB"; } return ""; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } } }