/// <summary> /// Set property value and notify dependend property changes /// </summary> /// <typeparam name="T"></typeparam> /// <typeparam name="U"></typeparam> /// <param name="value"></param> /// <param name="newvalue"></param> /// <param name="name"></param> /// <param name="depend1"></param> /// <param name="getter1"></param> /// <returns></returns> protected virtual bool SetPropertyValue <T, U>(ref T value, T newvalue, string name, string depend1, Func <U> getter1) { // must have changed if (Object.Equals(value, newvalue)) { return(false); } // create event arguments var args1 = new PropertyValueChangingEventArgs(name, value, newvalue); var args2 = new PropertyValueChangedEventArgs(name, value, newvalue); // signal property change OnPropertyChange(name, value, newvalue); // get old value U oldvalue1 = getter1(); // signal about to change OnPropertyChanging(this, args1); value = newvalue; OnPropertyChanged(this, args2); // feedback dependent property SetPropertyValue(oldvalue1, getter1(), depend1, null); // return OK return(true); }
private void advPropertyGrid1_PropertyValueChanging(object sender, PropertyValueChangingEventArgs e) { //var item = GetObjAndField(e.PropertyPath); //var obj= item.Item1; //var propertyName = item.Item2; if (e.PropertyName.EqualIgnoreCase("ModularDevices")) { var ModularDeviceID = ModularDevice.FindAllByName(e.NewValue.ToString())[0].ID; selectObj.Item1.SetItem("ModularDeviceID", ModularDeviceID); } else if (e.PropertyName.EqualIgnoreCase("Sensors")) { var SensorId = Sensor.FindAllByName("name", e.NewValue, null, 0, 0)[0].ID; selectObj.Item1.SetItem("SensorId", SensorId); } else if (e.PropertyName.EqualIgnoreCase("ControlJobTypes")) { var ControlJobTypeId = ControlJobType.FindAllByName("name", e.NewValue, null, 0, 0)[0].Id; selectObj.Item1.SetItem("ControlJobTypeId", ControlJobTypeId); } else if (e.PropertyName.EqualIgnoreCase("RelayTypes")) { var RelayTypeId = RelayType.FindAllByName("name", e.NewValue, null, 0, 0)[0].Id; selectObj.Item1.SetItem("RelayTypeId", RelayTypeId); } else if (e.PropertyName.EqualIgnoreCase("DeviceTypes")) { var DeviceTypeSerialnum = DeviceType.FindAllByName("name", e.NewValue, null, 0, 0)[0].Serialnum; selectObj.Item1.SetItem("DeviceTypeSerialnum", DeviceTypeSerialnum); } else if (e.PropertyName.EqualIgnoreCase("ShowDeviceTypes")) { var ShowDeviceTypeID = ShowDeviceType.FindAllByName("name", e.NewValue, null, 0, 0)[0].ID; selectObj.Item1.SetItem("ShowDeviceTypeID", ShowDeviceTypeID); } else if (e.PropertyName.EqualIgnoreCase("CommunicateDevices")) { var CommunicateDeviceID = CommunicateDevice.FindAllByName("name", e.NewValue, null, 0, 0)[0].ID; selectObj.Item1.SetItem("CommunicateDeviceID", CommunicateDeviceID); } else if (e.PropertyName.EqualIgnoreCase("Farms")) { var FarmID = Farm.FindAllByName("name", e.NewValue, null, 0, 0)[0].ID; selectObj.Item1.SetItem("FarmID", FarmID); } else if (e.PropertyName.EqualIgnoreCase("FacilityTypes")) { var FacilityTypeSerialnum = FacilityType.FindAllByName("name", e.NewValue, null, 0, 0)[0].Serialnum; selectObj.Item1.SetItem("FacilityTypeSerialnum", FacilityTypeSerialnum); } else { selectObj.Item1.SetItem(e.PropertyName, e.NewValue); } }
public void Explore() { IValueEventArgs <int> value = new ValueEventArgs <int>(1); value = Args.Value(1); var multi = new MultiEventArgs <int, string>(1, "1"); multi = Args.Value(1, "1"); IMutableValueEventArgs <decimal> mutable = new MutableValueEventArgs <decimal> { Value = 1m }; mutable = Args.Mutable(1m); var changed = new PropertyValueChangedEventArgs <int>("prop", 2, 3); changed = Args.Changed("prop", 2, 3); var indexed = new ValueIndexChangedEventArgs <string>(2, "old", "new"); indexed = Args.Changed(2, "old", "new"); var changing = new PropertyValueChangingEventArgs <int>("prop", 2, 3); changing = Args.Changing("prop", 2, 3); var indexing = new ValueIndexChangingEventArgs <string>(2, "old", "new"); indexing = Args.Changing(2, "old", "new"); ICancelEventArgs cancel = new ValueIndexCancelEventArgs <string>(2, "value"); cancel = Args.Cancel(2, "value"); IIndexEventArgs index = new ValueIndexEventArgs <string>(2, "value"); index = Args.Index(2, "value"); IChainedEventArgs chained = new ChainedEventArgs(); chained = Args.Chained(); }
/// <summary> /// Set new virtual property value /// </summary> /// <typeparam name="T"></typeparam> /// <param name="oldvalue"></param> /// <param name="newvalue"></param> /// <param name="name"></param> /// <param name="setter"></param> /// <returns></returns> protected virtual bool SetPropertyValue <T>(T oldvalue, T newvalue, string name, Action <T> setter) { // must have changed if (Object.Equals(oldvalue, newvalue)) { return(false); } // create event arguments var args1 = new PropertyValueChangingEventArgs(name, oldvalue, newvalue); var args2 = new PropertyValueChangedEventArgs(name, oldvalue, newvalue); // signal property change OnPropertyChange(name, oldvalue, newvalue); // signal about to change OnPropertyChanging(this, args1); setter?.Invoke(newvalue); OnPropertyChanged(this, args2); // return OK return(true); }
/// <summary> /// Set new property value /// </summary> /// <typeparam name="T"></typeparam> /// <param name="value"></param> /// <param name="newvalue"></param> /// <param name="name"></param> protected virtual bool SetPropertyValue <T>(ref T value, T newvalue, [CallerMemberName] string name = null) { // must have changed if (Object.Equals(value, newvalue)) { return(false); } // create event arguments var args1 = new PropertyValueChangingEventArgs(name, value, newvalue); var args2 = new PropertyValueChangedEventArgs(name, value, newvalue); // signal property change OnPropertyChange(name, value, newvalue); // signal about to change OnPropertyChanging(this, args1); value = newvalue; OnPropertyChanged(this, args2); // return OK return(true); }
private void propertyBill_PropertyValueChanging(object sender, PropertyValueChangingEventArgs e) { //e.Handled = true; }
private void propertyBill_PropertyValueChanging(object sender, PropertyValueChangingEventArgs e) { }