WaferConverter.cs 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. using Aitex.Core.Common;
  2. using Aitex.Core.RT.SCCore;
  3. using Aitex.Sorter.Common;
  4. using System;
  5. using System.Globalization;
  6. using System.Windows.Data;
  7. using MECF.Framework.Common.OperationCenter;
  8. using System.Windows;
  9. namespace Aitex.Sorter.UI.Converter
  10. {
  11. public class WaferConverter : IMultiValueConverter
  12. {
  13. public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
  14. {
  15. if (values[0] != null && values[0] != DependencyProperty.UnsetValue)
  16. {
  17. var status = (WaferStatus)values[0];
  18. var waferDisplayMode = (WaferDisplayMode)values[1];
  19. var waferOrigin = (string)values[2];
  20. var laserMarker = (string)values[3];
  21. var t7Code = (string)values[4];
  22. if (status != WaferStatus.Empty)
  23. {
  24. switch (waferDisplayMode)
  25. {
  26. case WaferDisplayMode.None:
  27. return string.Empty;
  28. case WaferDisplayMode.WaferOrigin:
  29. return waferOrigin;
  30. case WaferDisplayMode.LaserMarker:
  31. return laserMarker;
  32. case WaferDisplayMode.T7Code:
  33. return t7Code;
  34. default:
  35. break;
  36. }
  37. return string.Empty;
  38. }
  39. }
  40. return string.Empty;
  41. }
  42. public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
  43. {
  44. throw new NotImplementedException();
  45. }
  46. }
  47. public class WaferVisibilityConverter : IValueConverter
  48. {
  49. public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
  50. {
  51. return (value==null || (WaferStatus)value == WaferStatus.Empty) ? Visibility.Hidden : Visibility.Visible;
  52. }
  53. public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
  54. {
  55. throw new NotImplementedException();
  56. }
  57. }
  58. public class WaferVisibilityConverter2 : IMultiValueConverter
  59. {
  60. public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
  61. {
  62. var value = values[0];
  63. var showSlot= (bool)values[1];
  64. if (showSlot)
  65. {
  66. return (value == null || (WaferStatus)value == WaferStatus.Empty) ? Visibility.Hidden : Visibility.Visible;
  67. }
  68. else
  69. return false;
  70. }
  71. public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
  72. {
  73. throw new NotImplementedException();
  74. }
  75. }
  76. }