WaferIDConverter.cs 916 B

12345678910111213141516171819202122232425262728293031323334353637
  1. using System;
  2. using System.Globalization;
  3. using System.Windows;
  4. using System.Windows.Data;
  5. namespace Aitex.Sorter.UI.Converter
  6. {
  7. public class WaferIDConverter : IMultiValueConverter
  8. {
  9. public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
  10. {
  11. if (values[0] == null || values[0] == DependencyProperty.UnsetValue || values[1] == null || values[1] == DependencyProperty.UnsetValue)
  12. {
  13. return -1;
  14. }
  15. var obj = values[0];
  16. var collection = (Array)values[1];
  17. var index = collection.Length - Array.IndexOf(collection, obj) - 1;
  18. if (targetType == typeof(int))
  19. {
  20. return index;
  21. }
  22. else if (targetType == typeof(string))
  23. {
  24. return (index + 1).ToString();
  25. }
  26. return index;
  27. }
  28. public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
  29. {
  30. throw new NotImplementedException();
  31. }
  32. }
  33. }