using FLY.DownBlowing.Common; using FLY.DownBlowing.IService; using FLY.OBJComponents.Client; using FObjBase.Reflect; 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 { /// /// T1VelocityPanel.xaml 的交互逻辑 /// public partial class T1VelocityPanel : UserControl { static string[] update_propertynames; IDownBlowingSystemService downBlowingSystemService; SetPLCUpdatePlan setPlan; static T1VelocityPanel() { update_propertynames = new string[] { nameof(WinderData.T1Velocity), nameof(WinderData.T1VelocitySet), nameof(WinderData.IsT1VelocityChanged) }; } public T1VelocityPanel() { InitializeComponent(); } [InjectionMethod] public void Init( IDownBlowingSystemService downBlowingSystemService) { this.downBlowingSystemService = downBlowingSystemService; this.DataContext = this.downBlowingSystemService; string objname = nameof(IDownBlowingSystemService.WinderData); this.setPlan = new SetPLCUpdatePlan( this.downBlowingSystemService.PLCos, objname, update_propertynames ); this.downBlowingSystemService.WinderData.PropertyChanged += WinderData_PropertyChanged; } private void WinderData_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { if (downBlowingSystemService is Reflect_SeviceClient) { var client = downBlowingSystemService as Reflect_SeviceClient; if (client.IsInPushValue) { return; } } if (e.PropertyName == nameof(WinderData.T1VelocitySet)) { //TODO 检测是否会发送modbus写!!! downBlowingSystemService.WinderData.IsT1VelocityChanged = true; downBlowingSystemService.WinderData.IsT1VelocityChanged = false; } } private void UserControl_Unloaded(object sender, RoutedEventArgs e) { if (this.setPlan != null) { setPlan.Dispose(); setPlan = null; } } } }