Wafer.xaml 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <UserControl x:Class="Aitex.Sorter.UI.Controls.Wafer"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:local="clr-namespace:Aitex.Sorter.UI.Controls"
  7. xmlns:converter="clr-namespace:Aitex.Sorter.UI.Converter"
  8. xmlns:ctrl="clr-namespace:Aitex.Sorter.UI.Controls"
  9. mc:Ignorable="d"
  10. d:DesignHeight="450" d:DesignWidth="800">
  11. <Grid x:Name="root" PreviewMouseRightButtonUp="PreviewMouseRightButtonUp">
  12. <Grid.ContextMenu>
  13. <ContextMenu>
  14. <MenuItem Header="Create Wafer" Command="{Binding CreateDeleteWaferCommand}" CommandParameter="CreatWafer" />
  15. <MenuItem Header="Delete Wafer" Command="{Binding CreateDeleteWaferCommand}" CommandParameter="DeleteWafer" />
  16. </ContextMenu>
  17. </Grid.ContextMenu>
  18. <Border Width="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=ActualWidth}" Height="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=ActualWidth}" Background="Transparent" Visibility="{Binding WaferStyle, Converter={StaticResource visibilityConverter}}" MouseMove="Wafer_MouseMove" Drop="Wafer_Drop">
  19. <Border.AllowDrop>
  20. <MultiBinding Converter="{StaticResource waferdropConverter}">
  21. <Binding Path="WaferItem.Status" />
  22. <Binding Path="WaferItem.IsDestination" />
  23. </MultiBinding>
  24. </Border.AllowDrop>
  25. <Border.ToolTip>
  26. <TextBlock>
  27. <TextBlock.Text>
  28. <MultiBinding Converter="{StaticResource waferConverter}">
  29. <Binding Path="WaferItem.Status" />
  30. <Binding Path="WaferIDDisplayMode" />
  31. <Binding Path="WaferItem.WaferOrigin" />
  32. <Binding Path="WaferItem.LaserMarker" />
  33. <Binding Path="WaferItem.T7Code" />
  34. </MultiBinding>
  35. </TextBlock.Text>
  36. </TextBlock>
  37. </Border.ToolTip>
  38. <Grid>
  39. <Ellipse Visibility="{Binding WaferItem.Status , Converter={StaticResource waferVisibilityConverter}}" Stretch="Fill" StrokeThickness="2" StrokeLineJoin="Round" Stroke="#FF00641D" Width="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=ActualWidth}" Height="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=ActualWidth}">
  40. <Ellipse.Fill>
  41. <MultiBinding Converter="{StaticResource waferColorConverter}">
  42. <Binding Path="WaferItem.Status" />
  43. <Binding Path="WaferItem.ProcessState" />
  44. <Binding Path="WaferItem.IsDestination" />
  45. <Binding Path="WaferItem.IsSource" />
  46. <Binding Path="WaferItem.SubstE90Status" />
  47. </MultiBinding>
  48. </Ellipse.Fill>
  49. </Ellipse>
  50. <TextBlock FontSize="11" Foreground="{Binding WaferItem, Converter={StaticResource waferLabelColorConverter}}">
  51. <TextBlock.Text>
  52. <MultiBinding Converter="{StaticResource waferConverter}">
  53. <Binding Path="WaferItem.Status" />
  54. <Binding Path="WaferIDDisplayMode" />
  55. <Binding Path="WaferItem.WaferOrigin" />
  56. <Binding Path="WaferItem.LaserMarker" />
  57. <Binding Path="WaferItem.T7Code" />
  58. </MultiBinding>
  59. </TextBlock.Text>
  60. </TextBlock>
  61. </Grid>
  62. </Border>
  63. <Border Width="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=ActualWidth}" BorderThickness="0" BorderBrush="CadetBlue" Height="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=ActualHeight}" Background="Transparent" Visibility="{Binding WaferStyle, Converter={StaticResource visibilityConverter}, ConverterParameter=0 }" MouseMove="Wafer_MouseMove" Drop="Wafer_Drop" DragOver="Border_DragOver" DragLeave="Border_DragLeave">
  64. <Border.ToolTip>
  65. <ToolTip Content="{Binding Slot, Converter={StaticResource slotToIndexConverter}}" />
  66. </Border.ToolTip>
  67. <Border.AllowDrop>
  68. <MultiBinding Converter="{StaticResource waferdropConverter}">
  69. <Binding Path="WaferItem.Status" />
  70. <Binding Path="WaferItem.IsDestination" />
  71. </MultiBinding>
  72. </Border.AllowDrop>
  73. <Grid>
  74. <ctrl:Slot VerticalAlignment="Center" HorizontalAlignment="Center" Margin="-158,0,0,0" Visibility="{Binding ShowSlot, Converter={StaticResource boolVisibilityConverter}}" />
  75. <Rectangle Visibility="{Binding WaferItem.Status , Converter={StaticResource waferVisibilityConverter}}" x:Name="green" Width="146" Height="14" Canvas.Left="16" Stretch="Fill" StrokeThickness="2" StrokeLineJoin="Round" Stroke="{Binding WaferItem.Status, Converter={StaticResource waferStatusConverter}}">
  76. <Rectangle.Style>
  77. <Style TargetType="Rectangle">
  78. <Style.Triggers>
  79. <Trigger Property="IsMouseOver" Value="True">
  80. <Setter Property="StrokeThickness" Value="4" />
  81. </Trigger>
  82. </Style.Triggers>
  83. </Style>
  84. </Rectangle.Style>
  85. <Rectangle.Fill>
  86. <MultiBinding Converter="{StaticResource waferColorConverter}">
  87. <Binding Path="WaferItem.Status" />
  88. <Binding Path="WaferItem.ProcessState" />
  89. <Binding Path="WaferItem.IsDestination" />
  90. <Binding Path="WaferItem.IsSource" />
  91. <Binding Path="WaferItem.SubstE90Status" />
  92. </MultiBinding>
  93. </Rectangle.Fill>
  94. </Rectangle>
  95. <TextBlock FontSize="8" Foreground="{Binding WaferItem, Converter={StaticResource waferLabelColorConverter}}">
  96. <TextBlock.Text>
  97. <MultiBinding Converter="{StaticResource waferConverter}">
  98. <Binding Path="WaferItem.Status" />
  99. <Binding Path="WaferIDDisplayMode" />
  100. <Binding Path="WaferItem.WaferOrigin" />
  101. <Binding Path="WaferItem.LaserMarker" />
  102. <Binding Path="WaferItem.T7Code" />
  103. </MultiBinding>
  104. </TextBlock.Text>
  105. </TextBlock>
  106. </Grid>
  107. </Border>
  108. </Grid>
  109. </UserControl>