using FLY.OBJComponents.Client; using FLY.Weight.Client; using FLY.Weight.IService; using System; using System.Collections.Generic; using System.ComponentModel; 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 FLY.Weight.UI.Client { /// <summary> /// Page_Screw.xaml 的交互逻辑 /// </summary> public partial class PgIngredient : Page { IWeightSystemService weightSystemService; List<SetPLCUpdatePlan> setPlan_items = new List<SetPLCUpdatePlan>(); public PgIngredient() { InitializeComponent(); } void Init(IWeightSystemService weightSystemService) { this.weightSystemService = weightSystemService; root_grid.DataContext = this.weightSystemService; RebuildPlans(); if (weightSystemService is WeightSystemServiceClient) { (weightSystemService as WeightSystemServiceClient).ResetItemsEvent += MWeighterCsService_ResetItemsEvent; } } private void MWeighterCsService_ResetItemsEvent() { RebuildPlans(); } /// <summary> /// 由于数量改变,重新构造更新计划 /// </summary> void RebuildPlans() { foreach (SetPLCUpdatePlan plan in setPlan_items) plan.Dispose(); setPlan_items.Clear(); for (int i = 0; i < weightSystemService.Items.Count(); i++) { List<string> props = new List<string>(); for (int j = 0; j < weightSystemService.Items[i].BinCnt; j++) { int no = j + 1; props.Add("FeedingDeviation_" + no); props.Add("FeedSet_" + no); props.Add("InitTime_" + no); props.Add("MinTime_" + no); props.Add("StableTime_" + no); props.Add("BinAlarmSet_" + no); } setPlan_items.Add(new SetPLCUpdatePlan( weightSystemService.PLCos, weightSystemService.Items[i], props)); } } private void button_apply_Click(object sender, RoutedEventArgs e) { } private void button_back_Click(object sender, RoutedEventArgs e) { NavigationService.GoBack(); } private void Page_Unloaded(object sender, RoutedEventArgs e) { foreach (var setPlan in setPlan_items) { setPlan.Dispose(); } } } }