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 { /// /// Loadlock.xaml 的交互逻辑 /// public partial class Loadlock : UserControl { public Loadlock() { 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(Loadlock), 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(Loadlock), new PropertyMetadata(null)); //public ModuleName Station //{ // get { return (ModuleName)GetValue(StationProperty); } // set { SetValue(StationProperty, 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(Loadlock), new PropertyMetadata(ModuleName.LL1)); public FoupDoorState ATMDoorState { get { return (FoupDoorState)GetValue(ATMDoorStateProperty); } set { SetValue(ATMDoorStateProperty, value); } } // Using a DependencyProperty as the backing store for DoorState. This enables animation, styling, binding, etc... public static readonly DependencyProperty ATMDoorStateProperty = DependencyProperty.Register("ATMDoorState", typeof(FoupDoorState), typeof(Loadlock), new PropertyMetadata(FoupDoorState.Unknown)); public FoupDoorState VTMDoorState { get { return (FoupDoorState)GetValue(VTMDoorStateProperty); } set { SetValue(VTMDoorStateProperty, value); } } // Using a DependencyProperty as the backing store for DoorState. This enables animation, styling, binding, etc... public static readonly DependencyProperty VTMDoorStateProperty = DependencyProperty.Register("VTMDoorState", typeof(FoupDoorState), typeof(Loadlock), 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(Loadlock), new PropertyMetadata(null)); private void MenuItem_Click(object sender, RoutedEventArgs e) { var cmd = ((MenuItem)sender).Tag; Command.Execute(new[] { WaferData.ModuleID, cmd }); } } }