static bool Set(ref NPropertyBag head, NProperty key, object value) { var e = head.GetEntry(key); if (e != null && Equals(e._value, value)) { return(false); // value not changed -> do nothing } head = head.Clone(); head.Set(key, value); return(true); }
/// <summary> /// State setter method /// </summary> /// <param name="key">Property key</param> /// <param name="value">Property value</param> protected void SetState(NProperty key, object value) { if (_xaml != null && !_dirty) { if (Set(ref _state, key, value)) { Update(false); } } else { _state.Set(key, value); } }
internal virtual void SetProp(NProperty key, object value, bool silent = false) { _props.Set(key, value); }