using MECF.Framework.Common.Equipment; using MECF.Framework.Common.OperationCenter; using MECF.Framework.Common.RecipeCenter; using System; using System.Collections.Generic; using System.Collections.ObjectModel; 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; namespace CyberX8_Themes.UserControls { /// /// RecipeLoad.xaml 的交互逻辑 /// public partial class RecipeLoad : UserControl { public RecipeLoad() { InitializeComponent(); } public static readonly DependencyProperty SelectedRecipeNodeProperty = DependencyProperty.Register("SelectedRecipeNode", typeof(RecipeNode), typeof(RecipeLoad), new FrameworkPropertyMetadata(null, new PropertyChangedCallback(SelectedRecipeNodeChanged))); /// /// 当前选中recipe节点 /// public RecipeNode SelectedRecipeNode { get { return (RecipeNode)this.GetValue(SelectedRecipeNodeProperty); } set { this.SetValue(SelectedRecipeNodeProperty, value); } } public static readonly DependencyProperty RecipeTypeProperty = DependencyProperty.Register("RecipeType", typeof(string), typeof(RecipeLoad)); /// /// Recipe类型 /// public string RecipeType { get { return (string)this.GetValue(RecipeTypeProperty); } set { this.SetValue(RecipeTypeProperty, value); } } public static readonly DependencyProperty ModuleProperty = DependencyProperty.Register("Module", typeof(string), typeof(RecipeLoad)); /// /// Module /// public string Module { get { return (string)this.GetValue(ModuleProperty); } set { this.SetValue(ModuleProperty, value); } } public static readonly DependencyProperty LoadEnabledProperty = DependencyProperty.Register("LoadEnabled", typeof(bool), typeof(RecipeLoad), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// Load按钮可用性 /// public bool LoadEnabled { get { return (bool)this.GetValue(LoadEnabledProperty); } set { this.SetValue(SelectedRecipeNodeProperty, value); } } public static readonly DependencyProperty HeadNameProperty = DependencyProperty.Register("HeadName", typeof(string), typeof(RecipeLoad)); /// /// HeadName /// public string HeadName { get { return (string)this.GetValue(HeadNameProperty); } set { this.SetValue(HeadNameProperty, value); } } public static readonly DependencyProperty ReplenNameProperty = DependencyProperty.Register("ReplenName", typeof(string), typeof(RecipeLoad)); /// /// ReplenName /// public string ReplenName { get { return (string)this.GetValue(ReplenNameProperty); } set { this.SetValue(ReplenNameProperty, value); } } public static readonly DependencyProperty RecipeModeValueProperty = DependencyProperty.Register( "RecipeModeValue", typeof(string), typeof(RecipeLoad)); /// /// OpertationModeValue /// public string RecipeModeValue { get { return (string)this.GetValue(RecipeModeValueProperty); } set { this.SetValue(RecipeModeValueProperty, value); } } private static void SelectedRecipeNodeChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { if(e.NewValue!=null) { d.SetValue(LoadEnabledProperty, true); } else { d.SetValue(LoadEnabledProperty, false); } } private void LoadRecipe_Click(object sender, RoutedEventArgs e) { if (RecipeType == "rds") { InvokeClient.Instance.Service.DoOperation($"{Module}.LoadRecipe", SelectedRecipeNode.RecipeFullFileName, ReplenName); } else { InvokeClient.Instance.Service.DoOperation($"{Module}.LoadRecipe", SelectedRecipeNode.RecipeFullFileName); } } } }