using Aitex.Core.Common; using Aitex.Sorter.Common; using MECF.Framework.Common.Equipment; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using CB=OpenSEMI.ClientBase; namespace VirgoUI.Controls.Parts { /// /// Chamber.xaml 的交互逻辑 /// public partial class Chamber : UserControl { public Chamber() { InitializeComponent(); } public CB.WaferInfo WaferData { get { return (CB.WaferInfo)GetValue(WaferDataProperty); } set { SetValue(WaferDataProperty, value); } } public static readonly DependencyProperty WaferDataProperty = DependencyProperty.Register("WaferData", typeof(CB.WaferInfo), typeof(Chamber), new PropertyMetadata(null)); // public WaferInfo Wafer // { // get { return (WaferInfo)GetValue(WaferProperty); } // set { SetValue(WaferProperty, value); } // } // // Using a DependencyProperty as the backing store for WaferItem. This enables animation, styling, binding, etc... // public static readonly DependencyProperty WaferProperty = // DependencyProperty.Register("Wafer", typeof(WaferInfo), typeof(Chamber), new PropertyMetadata(null)); // public ModuleName Station // { // get { return (ModuleName)GetValue(StationProperty); } // set { SetValue(StationProperty, value); } // } // // Using a DependencyProperty as the backing store for WaferItem. This enables animation, styling, binding, etc... // public static readonly DependencyProperty SlotProperty = // DependencyProperty.Register("Slot", typeof(int), typeof(Chamber), new PropertyMetadata(0)); // public int Slot // { // get { return (int)GetValue(SlotProperty); } // set { SetValue(SlotProperty, value); } // } // // Using a DependencyProperty as the backing store for Station. This enables animation, styling, binding, etc... // public static readonly DependencyProperty StationProperty = //DependencyProperty.Register("Station", typeof(ModuleName), typeof(Chamber), new PropertyMetadata(ModuleName.System)); public FoupDoorState DoorState { get { return (FoupDoorState)GetValue(DoorStateProperty); } set { SetValue(DoorStateProperty, value); } } // Using a DependencyProperty as the backing store for DoorState. This enables animation, styling, binding, etc... public static readonly DependencyProperty DoorStateProperty = DependencyProperty.Register("DoorState", typeof(FoupDoorState), typeof(Chamber), new PropertyMetadata(FoupDoorState.Unknown)); public ICommand Command { get { return (ICommand)GetValue(CommandProperty); } set { SetValue(CommandProperty, value); } } // Using a DependencyProperty as the backing store for Command. This enables animation, styling, binding, etc... public static readonly DependencyProperty CommandProperty = DependencyProperty.Register("Command", typeof(ICommand), typeof(Chamber), new PropertyMetadata(null)); private void MenuItem_Click(object sender, RoutedEventArgs e) { var cmd = ((MenuItem)sender).Tag; Command.Execute(new[] { WaferData.ModuleID, cmd }); } } }