namespace Yw.WinFrmUI { public partial class SetHydroWorkingResistanceCtrl : DevExpress.XtraEditors.XtraUserControl, ISetHydroWorkingVisualCtrl { public SetHydroWorkingResistanceCtrl() { InitializeComponent(); this.layoutControl1.SetupLayoutControl(); InitialLinkStatus(); } /// /// 查看组件事件 /// public event Action HydroViewEvent; //组件 private Yw.Model.HydroResistanceInfo _visual = null; //工况 private HydroWorkingResistanceViewModel _working = null; /// /// 绑定数据 /// public void SetBindingData(Yw.Model.HydroVisualInfo visual, HydroWorkingVisualViewModel working = null) { _visual = visual as Yw.Model.HydroResistanceInfo; if (_visual == null) { return; } this.layoutGroupCaption.Text = HydroParterCatalogHelper.GetName(Yw.Hydro.ParterCatalog.Valve); if (!string.IsNullOrEmpty(_visual.Name)) { this.layoutGroupCaption.Text = _visual.Name; } _working = working as HydroWorkingResistanceViewModel; if (_working == null) { _working = new HydroWorkingResistanceViewModel(_visual); } this.imgCmbLinkStatus.EditValue = _working.LinkStatus; } /// /// 获取工况 /// public HydroWorkingVisualViewModel GetWorking() { if (_visual == null) { return default; } if (_working == null) { return default; } _working.LinkStatus = this.imgCmbLinkStatus.EditValue?.ToString(); return _working; } //初始化管段状态 private void InitialLinkStatus() { this.imgCmbLinkStatus.Properties.BeginUpdate(); this.imgCmbLinkStatus.Properties.Items.Clear(); this.imgCmbLinkStatus.Properties.Items.Add(HydroLinkStatusHelper.GetStatusName(Yw.Hydro.ValveStatus.None), Yw.Hydro.ValveStatus.None, -1); this.imgCmbLinkStatus.Properties.Items.Add(HydroLinkStatusHelper.GetStatusName(Yw.Hydro.ValveStatus.Open), Yw.Hydro.ValveStatus.Open, -1); this.imgCmbLinkStatus.Properties.Items.Add(HydroLinkStatusHelper.GetStatusName(Yw.Hydro.ValveStatus.Closed), Yw.Hydro.ValveStatus.Closed, -1); this.imgCmbLinkStatus.Properties.EndUpdate(); } //查看部件 private void layoutGroupCaption_CustomButtonClick(object sender, DevExpress.XtraBars.Docking2010.BaseButtonEventArgs e) { if (_visual == null) { return; } this.HydroViewEvent?.Invoke(_visual); } } }