| | |
| | | using static Hydro.MapViewEnum; |
| | | using System.Data; |
| | | |
| | | |
| | | namespace Hydro |
| | | { |
| | | |
| | | public partial class PropertyForm : XtraUserControl |
| | | namespace HydroUI |
| | | { |
| | | public partial class PropertyForm : UserControl |
| | | { |
| | | private IBaseViewModel _selectedObject; |
| | | private MapObjectType _selectedType= MapObjectType.全部; |
| | |
| | | } |
| | | public void SetObj(object o) |
| | | { |
| | | propertyGrid.SelectedObject = o; |
| | | propertyGridControl1.SelectedObject = o; |
| | | this.Text= o.GetType().Name; |
| | | } |
| | | public void SetObj(IBaseViewModel selectedObject) |
| | |
| | | if (_selectedObject is JunctionViewModel junc) |
| | | { |
| | | _selectedType = MapObjectType.节点; |
| | | propertyGrid.SelectedObjects = new JunctionViewModel[] { junc }; |
| | | propertyGridControl1.SelectedObjects = new JunctionViewModel[] { junc }; |
| | | } |
| | | else if (_selectedObject is ReservoirViewModel res) |
| | | { |
| | | _selectedType = MapObjectType.水库; |
| | | propertyGrid.SelectedObjects = new ReservoirViewModel[] { res }; |
| | | propertyGridControl1.SelectedObjects = new ReservoirViewModel[] { res }; |
| | | } |
| | | else if (_selectedObject is TankViewModel tank) |
| | | { |
| | | _selectedType = MapObjectType.水池; |
| | | propertyGrid.SelectedObjects = new TankViewModel[] { tank }; |
| | | propertyGridControl1.SelectedObjects = new TankViewModel[] { tank }; |
| | | } |
| | | else if (_selectedObject is PipeViewModel pipe) |
| | | { |
| | | _selectedType = MapObjectType.管线; |
| | | propertyGrid.SelectedObjects = new PipeViewModel[] { pipe }; |
| | | propertyGridControl1.SelectedObjects = new PipeViewModel[] { pipe }; |
| | | } |
| | | else if (_selectedObject is ValveViewModel valve) |
| | | { |
| | | _selectedType = MapObjectType.阀门; |
| | | propertyGrid.SelectedObjects = new ValveViewModel[] { valve }; |
| | | propertyGridControl1.SelectedObjects = new ValveViewModel[] { valve }; |
| | | } |
| | | else if (_selectedObject is RepeaterViewModel repeater) |
| | | { |
| | | _selectedType = MapObjectType.重复器; |
| | | propertyGrid.SelectedObjects = new RepeaterViewModel[] { repeater }; |
| | | propertyGridControl1.SelectedObjects = new RepeaterViewModel[] { repeater }; |
| | | } |
| | | //水表 |
| | | else if (_selectedObject is MeterViewModel meter) |
| | | { |
| | | _selectedType = MapObjectType.水表; |
| | | propertyGrid.SelectedObjects = new MeterViewModel[] { meter }; |
| | | propertyGridControl1.SelectedObjects = new MeterViewModel[] { meter }; |
| | | } |
| | | //水泵 |
| | | else if (_selectedObject is PumpViewModel pump) |
| | | { |
| | | _selectedType = MapObjectType.水泵; |
| | | propertyGrid.SelectedObjects = new PumpViewModel[] { pump }; |
| | | propertyGridControl1.SelectedObjects = new PumpViewModel[] { pump }; |
| | | } |
| | | //喷头Nozzle |
| | | else if (_selectedObject is NozzleViewModel nozzle) |
| | | { |
| | | _selectedType = MapObjectType.喷头; |
| | | propertyGrid.SelectedObjects = new NozzleViewModel[] { nozzle }; |
| | | propertyGridControl1.SelectedObjects = new NozzleViewModel[] { nozzle }; |
| | | } else |
| | | { |
| | | _selectedType = MapObjectType.全部; |
| | | propertyGrid.SelectedObjects =new IBaseViewModel[] { selectedObject }; |
| | | propertyGridControl1.SelectedObjects =new IBaseViewModel[] { selectedObject }; |
| | | } |
| | | switch (_selectedType) |
| | | { |
| | |
| | | void RefreshListBox() |
| | | { |
| | | if (selectionSet == null) return; |
| | | if (comboBox_type.Items.Count<1) |
| | | { |
| | | foreach (var item in Enum.GetValues(typeof(MapObjectType))) |
| | | { |
| | | comboBox_type.Items.Add(item); |
| | | } |
| | | comboBox_type.SelectedIndex = 0; |
| | | } |
| | | string txt = comboBox_type.SelectedItem.ToString(); |
| | | MapObjectType selectedType = (MapObjectType)Enum.Parse(typeof(MapObjectType), txt); |
| | | // 使用 LINQ 查询筛选选择集 |
| | |
| | | bool _isEnable = true; |
| | | |
| | | private static Dictionary<object, List<object>> _selectedObjectsDict = new Dictionary<object, List<object>>(); |
| | | private void propertyGrid_PropertyValueChanged(object s, PropertyValueChangedEventArgs e) |
| | | private void propertyGridControl1_PropertyValueChanged(object s, PropertyValueChangedEventArgs e) |
| | | { |
| | | //foreach (var item in listBox1.SelectedItems) |
| | | //{ |
| | |
| | | { |
| | | return; |
| | | } |
| | | propertyGrid.SelectedObjects = objs; |
| | | propertyGridControl1.SelectedObjects = objs; |
| | | |
| | | |
| | | |
| | |
| | | listBox1.SetSelected(i, true); |
| | | } |
| | | listBox1.SelectedIndexChanged += listBox1_SelectedIndexChanged; |
| | | this.propertyGrid.SelectedObjects =selectionSet. CurrentSelectedObjects?.ToArray(); |
| | | this.propertyGridControl1.SelectedObjects =selectionSet. CurrentSelectedObjects?.ToArray(); |
| | | GlobalObject.map.selectedObjs.ForEach(o => o.Selected = false); |
| | | if (selectionSet.CurrentSelectedObjects!=null) |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | /*public class SelectionSet |
| | | public class SelectionSet |
| | | { |
| | | public string Name; |
| | | public MapObjectType filterType=MapObjectType.全部; |
| | |
| | | } |
| | | |
| | | |
| | | }*/ |
| | | } |
| | | |
| | | |
| | | |