TryRemove <T>(IDependencyValueProvider provider, DependencyProperty <T> key, out IEffectiveValue <T> value) { var storage = GetStorage(provider, key); var priority = provider.Priority; IEffectiveValue eValue; if (storage.TryGetValue(priority, out eValue)) { value = (IEffectiveValue <T>)eValue; var index = storage.IndexOfKey(priority); storage.RemoveAt(index); #if ECS_SERVER return(OnEffectiveValueCleared(index, key, value.Value) .ContinueWith(t => true)); #else OnEffectiveValueCleared(index, key, value.Value); return(true); #endif } value = null; #if ECS_SERVER return(Task.FromResult(false)); #else return(false); #endif }
public bool TryGetCurrentEffectiveValue(DependencyProperty key, out IEffectiveValue value) { if (_parent != null && _inheritProperties.Contains(key)) { return(_parent.ValueStorage.TryGetCurrentEffectiveValue(key, out value)); } value = null; return(false); }
public bool TryGetCurrentEffectiveValue <T>(DependencyProperty <T> key, out IEffectiveValue <T> value) { IEffectiveValue eValue; if (TryGetCurrentEffectiveValue(key, out eValue)) { value = (IEffectiveValue <T>)eValue; return(true); } value = null; return(false); }
internal bool TryGetCurrentEffectiveValue(DependencyProperty key, out IEffectiveValue value) { foreach (var storage in _storages.Values) { if (storage.TryGetCurrentEffectiveValue(key, out value)) { return(true); } } value = null; return(false); }
public bool TryGetCurrentEffectiveValue(DependencyProperty key, out IEffectiveValue value) { SortedList <float, IEffectiveValue> list; if (_dict.TryGetValue(key, out list) && list.Count > 0) { value = list.Values[0]; return(true); } value = null; return(false); }
public bool TryGetCurrentEffectiveValue(DependencyProperty key, out IEffectiveValue value) { if (_values.TryGetValue(key, out value)) { return(true); } _style.Seal(); IEffectiveValueProvider provider; if (_style._values.TryGetValue(key, out provider)) { if (!_values.TryGetValue(key, out value)) { var effectiveValue = provider.ProviderValue(_d); effectiveValue.ValueChanged = (s, e) => OnEffectiveValueChanged(key, e.OldValue, e.NewValue); value = effectiveValue; } return(true); } value = null; return(false); }
public bool TryRemove <T>(IDependencyValueProvider provider, DependencyProperty <T> key, out IEffectiveValue <T> value) { var storage = GetStorage(provider, key); var priority = provider.Priority; IEffectiveValue eValue; if (storage.TryGetValue(priority, out eValue)) { value = (IEffectiveValue <T>)eValue; var index = storage.IndexOfKey(priority); storage.RemoveAt(index); OnEffectiveValueCleared(index, key, value.Value); return(true); } value = null; return(false); }
public bool TryGetValue <T>(IDependencyValueProvider provider, DependencyProperty <T> key, out IEffectiveValue <T> value) { var storage = GetStorage(provider, key); IEffectiveValue eValue; if (storage.TryGetValue(provider.Priority, out eValue)) { value = (IEffectiveValue <T>)eValue; return(true); } value = null; return(false); }
public object GetValue(IEffectiveValue effectiveValue) { return(((IEffectiveValue <T>)effectiveValue).Value); }
public bool TryRemove <T>(IDependencyValueProvider provider, DependencyProperty <T> key, out IEffectiveValue <T> value) { throw new NotSupportedException(); }
private bool TryGetCurrentEffectiveValueExcept(DependencyProperty key, IDependencyValueStorage except, out IEffectiveValue value) { foreach (var storage in _storages.Values) { if (storage == except) { continue; } if (storage.TryGetCurrentEffectiveValue(key, out value)) { return(true); } } value = null; return(false); }
public bool EqualsEffectiveValue(IEffectiveValue a, IEffectiveValue b) { return(EqualityComparer <T> .Default.Equals(((IEffectiveValue <T>)a).Value, ((IEffectiveValue <T>)b).Value)); }
public object GetEffectiveValue(IEffectiveValue value) { return(((IEffectiveValue <T>)value).Value); }