| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 | using Aitex.Core.UI.MVVM;using Aitex.Core.Utilities;using PunkHPX8_Core;using MECF.Framework.Common.CommonData.Reservoir;using MECF.Framework.Common.OperationCenter;using MECF.Framework.Common.RecipeCenter;using MECF.Framework.UI.Core.Control;using System;using System.Collections.Generic;using System.Collections.ObjectModel;using System.Linq;using System.Reflection;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 PunkHPX8_Themes.UserControls{    /// <summary>    /// PMCounterComponent.xaml 的交互逻辑    /// </summary>    public partial class PMCounterComponent : UserControl    {        public PMCounterComponent()        {            InitializeComponent();            KeyDownCommand = new DelegateCommand<object[]>(KeyDownAction);        }        [IgnorePropertyChange]        public ICommand KeyDownCommand { get; private set; }        public static readonly DependencyProperty ComponentNodesProperty = DependencyProperty.                Register("ComponentNodes", typeof(ObservableCollection<PMCounterNode>), typeof(PMCounterComponent));        public ObservableCollection<PMCounterNode> ComponentNodes        {            get { return (ObservableCollection<PMCounterNode>)this.GetValue(ComponentNodesProperty); }            set { this.SetValue(ComponentNodesProperty, value); }        }        private void KeyDownAction(object[] param)        {            if (param.Length > 2)            {                string PMCounterName = (string)param[0];                if(PMCounterName.Length < 7)  //修改的是metal                {                    string CounterName = (string)param[1];                    string NewValue = (string)param[2];                    //根据输入的newvalue在后台更新PMCounterComponent的新值并执行对应的操作                    InvokeClient.Instance.Service.DoOperation($"{PMCounterName}.UpdateMetalUsage", PMCounterName, CounterName, NewValue);                }                else //修改的是reservoir                {                    string CounterName = (string)param[1];                    string NewValue = (string)param[2];                    //根据输入的newvalue在后台更新PMCounterComponent的新值并执行对应的操作                    InvokeClient.Instance.Service.DoOperation($"{PMCounterName}.UpdateReservoirUsage", PMCounterName, CounterName, NewValue);                }                           }        }               }}
 |