lixiaojun
2024-08-23 bcb5081bfc80f82cc4fae1e72f54da753d287e22
增加水力模拟时的属性修改
已修改5个文件
已添加3个文件
392 ■■■■■ 文件已修改
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/XhsProjectSimulationPropertyCtrl.Designer.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/XhsProjectSimulationPropertyCtrl.cs 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/XhsProjectSimulationPropertyCtrl.resx 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/XhsSchemeHydraulicSimulationPage.Designer.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/XhsSchemeHydraulicSimulationPage.cs 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/XhsSchemeHydraulicSimulationPage.resx 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj.user 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/03-property/HydroParterPropertyCtrl.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/XhsProjectSimulationPropertyCtrl.Designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,57 @@
namespace HStation.WinFrmUI
{
    partial class XhsProjectSimulationPropertyCtrl
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }
        #region Component Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            hydroParterPropertyCtrl1 = new HydroParterPropertyCtrl();
            SuspendLayout();
            //
            // hydroParterPropertyCtrl1
            //
            hydroParterPropertyCtrl1.Dock = DockStyle.Fill;
            hydroParterPropertyCtrl1.Location = new Point(0, 0);
            hydroParterPropertyCtrl1.Name = "hydroParterPropertyCtrl1";
            hydroParterPropertyCtrl1.SelectedObject = null;
            hydroParterPropertyCtrl1.Size = new Size(297, 564);
            hydroParterPropertyCtrl1.TabIndex = 0;
            //
            // XhsProjectSimulationPropertyCtrl
            //
            AutoScaleDimensions = new SizeF(7F, 14F);
            AutoScaleMode = AutoScaleMode.Font;
            Controls.Add(hydroParterPropertyCtrl1);
            Name = "XhsProjectSimulationPropertyCtrl";
            Size = new Size(297, 564);
            ResumeLayout(false);
        }
        #endregion
        private HydroParterPropertyCtrl hydroParterPropertyCtrl1;
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/XhsProjectSimulationPropertyCtrl.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,123 @@
namespace HStation.WinFrmUI
{
    /// <summary>
    /// é¡¹ç›®æ¨¡æ‹Ÿå±žæ€§æŽ§ä»¶
    /// </summary>
    public partial class XhsProjectSimulationPropertyCtrl : DevExpress.XtraEditors.XtraUserControl
    {
        public XhsProjectSimulationPropertyCtrl()
        {
            InitializeComponent();
            this.hydroParterPropertyCtrl1.PropertyValueChangedEvent += HydroParterPropertyCtrl1_PropertyValueChangedEvent;
        }
        private Yw.Model.HydroModelInfo _hydro = null;
        /// <summary>
        /// ç»‘定数据
        /// </summary>
        public void SetBindingData(Yw.Model.HydroModelInfo rhs)
        {
            _hydro = rhs;
        }
        /// <summary>
        /// é€‰æ‹©ç»„ä»¶
        /// </summary>
        public void SelectParter(long id)
        {
            if (_hydro == null)
            {
                this.hydroParterPropertyCtrl1.SelectedObject = null;
                return;
            }
            var allParterList = _hydro.GetAllParters();
            var parter = allParterList.Find(x => x.ID == id);
            if (parter == null)
            {
                this.hydroParterPropertyCtrl1.SelectedObject = null;
                return;
            }
            var vm = Yw.WinFrmUI.HydroParterPropertyViewModelBuilder.CreateViewModel(parter, allParterList);
            this.hydroParterPropertyCtrl1.SelectedObject = vm;
        }
        /// <summary>
        /// é€‰æ‹©ç»„ä»¶
        /// </summary>
        public void SelectParter(string code)
        {
            if (_hydro == null)
            {
                this.hydroParterPropertyCtrl1.SelectedObject = null;
                return;
            }
            var allParterList = _hydro.GetAllParters();
            var parter = allParterList.Find(x => x.Code == code);
            if (parter == null)
            {
                this.hydroParterPropertyCtrl1.SelectedObject = null;
                return;
            }
            var vm = Yw.WinFrmUI.HydroParterPropertyViewModelBuilder.CreateViewModel(parter, allParterList);
            this.hydroParterPropertyCtrl1.SelectedObject = vm;
        }
        /// <summary>
        /// é€‰æ‹©ç»„ä»¶
        /// </summary>
        /// <param name="parter"></param>
        /// <param name="allParterList"></param>
        public void SelectParter(Yw.Model.HydroParterInfo parter, List<Yw.Model.HydroParterInfo> allParterList)
        {
            if (_hydro == null)
            {
                this.hydroParterPropertyCtrl1.SelectedObject = null;
                return;
            }
            if (parter == null)
            {
                this.hydroParterPropertyCtrl1.SelectedObject = null;
                return;
            }
            var vm = Yw.WinFrmUI.HydroParterPropertyViewModelBuilder.CreateViewModel(parter, allParterList);
            this.hydroParterPropertyCtrl1.SelectedObject = vm;
        }
        /// <summary>
        /// æ›´æ–°è®¡ç®—属性
        /// </summary>
        public void UpdateCalcuProperty(Yw.WinFrmUI.IHydroCalcuProperty rhs)
        {
            var vm = this.hydroParterPropertyCtrl1.SelectedObject;
            if (vm == null)
            {
                return;
            }
            vm.UpdateCalcuProperty(rhs);
            this.hydroParterPropertyCtrl1.UpdateRows();
        }
        //属性发生改变
        private void HydroParterPropertyCtrl1_PropertyValueChangedEvent(HydroParterPropertyViewModel obj)
        {
            if (obj == null)
            {
                return;
            }
            if (_hydro == null)
            {
                return;
            }
            var allParterList = _hydro.GetAllParters();
            var parter = allParterList?.Find(x => x.ID == obj.ID);
            if (parter == null)
            {
                return;
            }
            parter.UpdateProperty(allParterList, obj);
        }
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/XhsProjectSimulationPropertyCtrl.resx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
  <!--
    Microsoft ResX Schema
    Version 2.0
    The primary goals of this format is to allow a simple XML format
    that is mostly human readable. The generation and parsing of the
    various data types are done through the TypeConverter classes
    associated with the data types.
    Example:
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
    There are any number of "resheader" rows that contain simple
    name/value pairs.
    Each data row contains a name, and value. The row also contains a
    type or mimetype. Type corresponds to a .NET class that support
    text/value conversion through the TypeConverter architecture.
    Classes that don't support this are serialized and stored with the
    mimetype set.
    The mimetype is used for serialized objects, and tells the
    ResXResourceReader how to depersist the object. This is currently not
    extensible. For a given mimetype the value must be set accordingly:
    Note - application/x-microsoft.net.object.binary.base64 is the format
    that the ResXResourceWriter will generate, however the reader can
    read any of the formats listed below.
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" use="required" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
</root>
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/XhsSchemeHydraulicSimulationPage.Designer.cs
@@ -34,14 +34,15 @@
            barBtnCheck = new DevExpress.XtraBars.BarButtonItem();
            barBtnCalcu = new DevExpress.XtraBars.BarButtonItem();
            barBtnParter = new DevExpress.XtraBars.BarButtonItem();
            barBtnInp = new DevExpress.XtraBars.BarButtonItem();
            ribbonPage1 = new DevExpress.XtraBars.Ribbon.RibbonPage();
            ribbonPageGroup1 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
            xhsProjectHydroQ3dCtrl1 = new XhsProjectHydroQ3dCtrl();
            dockPanel1 = new DevExpress.XtraBars.Docking.DockPanel();
            dockPanel1_Container = new DevExpress.XtraBars.Docking.ControlContainer();
            xhsProjectAssetsPropertyCtrl1 = new XhsProjectAssetsPropertyCtrl();
            xhsProjectSimulationPropertyCtrl1 = new XhsProjectSimulationPropertyCtrl();
            dockManager1 = new DevExpress.XtraBars.Docking.DockManager(components);
            barBtnInp = new DevExpress.XtraBars.BarButtonItem();
            barBtnSave = new DevExpress.XtraBars.BarButtonItem();
            ((ISupportInitialize)ribbonControl1).BeginInit();
            xhsProjectHydroQ3dCtrl1.SuspendLayout();
            dockPanel1.SuspendLayout();
@@ -53,9 +54,9 @@
            // 
            ribbonControl1.ExpandCollapseItem.Id = 0;
            ribbonControl1.ItemPanelStyle = DevExpress.XtraBars.Ribbon.RibbonItemPanelStyle.Classic;
            ribbonControl1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { ribbonControl1.ExpandCollapseItem, barBtnCheck, barBtnCalcu, barBtnParter, barBtnInp });
            ribbonControl1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { ribbonControl1.ExpandCollapseItem, barBtnCheck, barBtnCalcu, barBtnParter, barBtnInp, barBtnSave });
            ribbonControl1.Location = new Point(0, 0);
            ribbonControl1.MaxItemId = 5;
            ribbonControl1.MaxItemId = 6;
            ribbonControl1.Name = "ribbonControl1";
            ribbonControl1.Pages.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPage[] { ribbonPage1 });
            ribbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.False;
@@ -88,6 +89,14 @@
            barBtnParter.Name = "barBtnParter";
            barBtnParter.ItemClick += barBtnParter_ItemClick;
            // 
            // barBtnInp
            //
            barBtnInp.Caption = "导出Inp";
            barBtnInp.Id = 4;
            barBtnInp.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnInp.ImageOptions.SvgImage");
            barBtnInp.Name = "barBtnInp";
            barBtnInp.ItemClick += barBtnInp_ItemClick;
            //
            // ribbonPage1
            // 
            ribbonPage1.Groups.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPageGroup[] { ribbonPageGroup1 });
@@ -100,6 +109,7 @@
            ribbonPageGroup1.ItemLinks.Add(barBtnCalcu);
            ribbonPageGroup1.ItemLinks.Add(barBtnParter);
            ribbonPageGroup1.ItemLinks.Add(barBtnInp);
            ribbonPageGroup1.ItemLinks.Add(barBtnSave);
            ribbonPageGroup1.Name = "ribbonPageGroup1";
            ribbonPageGroup1.Text = "模型";
            // 
@@ -125,19 +135,19 @@
            // 
            // dockPanel1_Container
            // 
            dockPanel1_Container.Controls.Add(xhsProjectAssetsPropertyCtrl1);
            dockPanel1_Container.Controls.Add(xhsProjectSimulationPropertyCtrl1);
            dockPanel1_Container.Location = new Point(4, 26);
            dockPanel1_Container.Name = "dockPanel1_Container";
            dockPanel1_Container.Size = new Size(243, 430);
            dockPanel1_Container.TabIndex = 0;
            // 
            // xhsProjectAssetsPropertyCtrl1
            // xhsProjectSimulationPropertyCtrl1
            // 
            xhsProjectAssetsPropertyCtrl1.Dock = DockStyle.Fill;
            xhsProjectAssetsPropertyCtrl1.Location = new Point(0, 0);
            xhsProjectAssetsPropertyCtrl1.Name = "xhsProjectAssetsPropertyCtrl1";
            xhsProjectAssetsPropertyCtrl1.Size = new Size(243, 430);
            xhsProjectAssetsPropertyCtrl1.TabIndex = 0;
            xhsProjectSimulationPropertyCtrl1.Dock = DockStyle.Fill;
            xhsProjectSimulationPropertyCtrl1.Location = new Point(0, 0);
            xhsProjectSimulationPropertyCtrl1.Name = "xhsProjectSimulationPropertyCtrl1";
            xhsProjectSimulationPropertyCtrl1.Size = new Size(243, 430);
            xhsProjectSimulationPropertyCtrl1.TabIndex = 0;
            // 
            // dockManager1
            // 
@@ -145,13 +155,13 @@
            dockManager1.RootPanels.AddRange(new DevExpress.XtraBars.Docking.DockPanel[] { dockPanel1 });
            dockManager1.TopZIndexControls.AddRange(new string[] { "DevExpress.XtraBars.BarDockControl", "DevExpress.XtraBars.StandaloneBarDockControl", "System.Windows.Forms.MenuStrip", "System.Windows.Forms.StatusStrip", "System.Windows.Forms.StatusBar", "DevExpress.XtraBars.Ribbon.RibbonStatusBar", "DevExpress.XtraBars.Ribbon.RibbonControl", "DevExpress.XtraBars.Navigation.OfficeNavigationBar", "DevExpress.XtraBars.Navigation.TileNavPane", "DevExpress.XtraBars.TabFormControl", "DevExpress.XtraBars.FluentDesignSystem.FluentDesignFormControl", "DevExpress.XtraBars.ToolbarForm.ToolbarFormControl" });
            // 
            // barBtnInp
            // barBtnSave
            // 
            barBtnInp.Caption = "导出Inp";
            barBtnInp.Id = 4;
            barBtnInp.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnInp.ImageOptions.SvgImage");
            barBtnInp.Name = "barBtnInp";
            barBtnInp.ItemClick += barBtnInp_ItemClick;
            barBtnSave.Caption = "保存";
            barBtnSave.Id = 5;
            barBtnSave.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnSave.ImageOptions.SvgImage");
            barBtnSave.Name = "barBtnSave";
            barBtnSave.ItemClick += barBtnSave_ItemClick;
            // 
            // XhsSchemeHydraulicSimulationPage
            // 
@@ -185,7 +195,8 @@
        private DevExpress.XtraBars.Docking.DockManager dockManager1;
        private DevExpress.XtraBars.Docking.DockPanel dockPanel1;
        private DevExpress.XtraBars.Docking.ControlContainer dockPanel1_Container;
        private XhsProjectAssetsPropertyCtrl xhsProjectAssetsPropertyCtrl1;
        private DevExpress.XtraBars.BarButtonItem barBtnInp;
        private XhsProjectSimulationPropertyCtrl xhsProjectSimulationPropertyCtrl1;
        private DevExpress.XtraBars.BarButtonItem barBtnSave;
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/XhsSchemeHydraulicSimulationPage.cs
@@ -9,6 +9,7 @@
        {
            InitializeComponent();
            this.xhsProjectHydroQ3dCtrl1.ClickParterEvent += XhsProjectHydroQ3dCtrl1_ClickParterEvent;
        }
@@ -34,7 +35,7 @@
                return;
            }
            _hydro = await new Yw.BLL.HydroModelInfo().GetByID(hydroRelation.ModelID);
            this.xhsProjectAssetsPropertyCtrl1.SetBindingData(_hydro);
            this.xhsProjectSimulationPropertyCtrl1.SetBindingData(_hydro);
        }
        /// <summary>
@@ -54,7 +55,7 @@
            {
                return;
            }
            this.xhsProjectAssetsPropertyCtrl1.SetPropertyViewModel(objectId);
            this.xhsProjectSimulationPropertyCtrl1.SelectParter(objectId);
        }
        private void barBtnCheck_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
@@ -98,5 +99,19 @@
            File.WriteAllText(fileName, result);
            TipFormHelper.ShowSucceed("导出成功");
        }
        private async void barBtnSave_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (_hydro == null)
            {
                return;
            }
            var bll = new Yw.BLL.HydroModelInfo();
            var result = await bll.Save(_hydro);
            if (result > 0)
            {
                Yw.WinFrmUI.TipFormHelper.ShowSucceed("保存成功");
            }
        }
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/XhsSchemeHydraulicSimulationPage.resx
@@ -207,6 +207,25 @@
        OCAyNCwyIDI0LDYgMTYsNiAgIiBjbGFzcz0iR3JlZW4iIC8+DQogIDwvZz4NCjwvc3ZnPgs=
</value>
  </data>
  <data name="barBtnSave.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAMICAAAC77u/
        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzczNzM3NDt9Cgku
        WWVsbG93e2ZpbGw6I0ZDQjAxQjt9CgkuR3JlZW57ZmlsbDojMTI5QzQ5O30KCS5CbHVle2ZpbGw6IzM4
        N0NCNzt9CgkuUmVke2ZpbGw6I0QwMjEyNzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
        Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tk
        aXNwbGF5Om5vbmU7ZmlsbDojNzM3Mzc0O30KPC9zdHlsZT4NCiAgPHBhdGggZD0iTTI3LDRoLTN2MTBI
        OFY0SDVDNC40LDQsNCw0LjQsNCw1djIyYzAsMC42LDAuNCwxLDEsMWgyMmMwLjYsMCwxLTAuNCwxLTFW
        NUMyOCw0LjQsMjcuNiw0LDI3LDR6IE0yNCwyNEg4di02ICBoMTZWMjR6IE0xMCw0djhoMTBWNEgxMHog
        TTE0LDEwaC0yVjZoMlYxMHoiIGNsYXNzPSJCbGFjayIgLz4NCjwvc3ZnPgs=
</value>
  </data>
  <metadata name="dockManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>17, 17</value>
  </metadata>
WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj.user
@@ -82,6 +82,9 @@
    <Compile Update="03-scheme\03-hydraulic-simulation\XhsProjectHydroQ3dCtrl.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Update="03-scheme\03-hydraulic-simulation\XhsProjectSimulationPropertyCtrl.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Update="03-scheme\04-scheme-mgr\01-create\CreateSchemeDlg.cs">
      <SubType>Form</SubType>
    </Compile>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/03-property/HydroParterPropertyCtrl.cs
@@ -19,12 +19,12 @@
        /// <summary>
        /// å±žæ€§å€¼æ­£åœ¨æ”¹å˜äº‹ä»¶
        /// </summary>
        public Action<HydroParterPropertyViewModel> PropertyValueChangingEvent;
        public event Action<HydroParterPropertyViewModel> PropertyValueChangingEvent;
        /// <summary>
        /// å±žæ€§å€¼å‘生改变事件
        /// </summary>
        public Action<HydroParterPropertyViewModel> PropertyValueChangedEvent;
        public event Action<HydroParterPropertyViewModel> PropertyValueChangedEvent;
        /// <summary>
        /// ç»‘定对象