FileSizeConverterExtension.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. using System;
  2. using System.Globalization;
  3. using System.Windows.Data;
  4. using System.Windows.Markup;
  5. namespace UpgradePackageUploadTool.Extensions
  6. {
  7. [MarkupExtensionReturnType(typeof(IValueConverter))]
  8. public class FileSizeConverterExtension : MarkupExtension
  9. {
  10. private FileSizeConverter _converter;
  11. public override object ProvideValue(IServiceProvider serviceProvider)
  12. {
  13. return _converter ?? (_converter = new FileSizeConverter());
  14. }
  15. private class FileSizeConverter : IValueConverter
  16. {
  17. public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
  18. {
  19. if (value is int)
  20. {
  21. return Math.Round((int)value / 1024 / 1024d, 2).ToString() + " MB";
  22. }
  23. return "";
  24. }
  25. public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
  26. {
  27. throw new NotImplementedException();
  28. }
  29. }
  30. }
  31. }