using FLY.DownBlowing.Common; using FLY.DownBlowing.IService; using FLY.OBJComponents.Client; 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 Unity; namespace FLY.DownBlowing.UI.Client.UiModule { /// <summary> /// CenterPanel.xaml 的交互逻辑 /// </summary> public partial class CenterPanelV4 : UserControl { static string[] update_propertynames; IDownBlowingSystemService downBlowingSystemService; SetPLCUpdatePlan setPlan_winder; WinderInsideOutside winder; int index; static CenterPanelV4() { update_propertynames = new string[] { nameof(WinderInsideOutside.IsGapWindOn), nameof(WinderInsideOutside.IsGapWindOnSet), nameof(WinderInsideOutside.IsSurfaceCenterWindOn), nameof(WinderInsideOutside.IsSurfaceCenterWindOnSet), nameof(WinderInsideOutside.IsSurfaceWindOn), nameof(WinderInsideOutside.IsSurfaceWindOnSet), nameof(WinderInsideOutside.CenterAirPress), nameof(WinderInsideOutside.CenterAirPressSet), nameof(WinderInsideOutside.CenterInitDiameter), nameof(WinderInsideOutside.Diameter), nameof(WinderInsideOutside.MeasureReset), nameof(WinderInsideOutside.CenterTension), nameof(WinderInsideOutside.CenterTensionSet), nameof(WinderInsideOutside.CenterTaperSet) }; } public CenterPanelV4() { InitializeComponent(); } [InjectionMethod] public void Init( IDownBlowingSystemService downBlowingSystemService, int index) { this.downBlowingSystemService = downBlowingSystemService; this.winder = downBlowingSystemService.WIOs[index]; this.index = index; this.DataContext = this.winder; } private void UserControl_Unloaded(object sender, RoutedEventArgs e) { if (this.setPlan_winder != null) { setPlan_winder.Dispose(); setPlan_winder = null; } } private void UserControl_Loaded(object sender, RoutedEventArgs e) { if (setPlan_winder == null) { string objname = $"{nameof(IDownBlowingSystemService.WIOs)}[{index}]"; setPlan_winder = new SetPLCUpdatePlan( this.downBlowingSystemService.PLCos, objname, update_propertynames ); } } } }