/// <summary> /// Set the value of the target property to a value provided by a <see cref="DependencyExpression"/> which is generated by the <see cref="DependencyExtension"/> which overrides the current extension. /// </summary> /// <param name="propertyKey">The <see cref="DependencyPropertyKey"/> of the <see cref="DependencyProperty"/> whichs value should be set.</param> /// <param name="extension">The <see cref="DependencyExtension"/> which provides provides the <see cref="DependencyExpression"/>.</param> public void SetValueExtensionOverride(DependencyPropertyKey propertyKey, DependencyExtension extension) { if (propertyKey == null) { throw new ArgumentNullException(nameof(propertyKey)); } GetStorage(propertyKey.Property, extension != null, false)?.SetExtensionOverride(this, extension); }
/// <summary> /// Set the <see cref="DependencyExtension"/> override of the current property. /// </summary> /// <param name="container">The container of the <see cref="DependencyProperty"/>.</param> /// <param name="extension">The extension which should be set.</param> public abstract void SetExtensionOverride(DependencyObjectContainer container, DependencyExtension extension);
/// <summary> /// Set the value of the target property to a value provided by a <see cref="DependencyExpression"/> which is generated by the <see cref="DependencyExtension"/> which overrides the current extension. /// </summary> /// <param name="property">The <see cref="DependencyProperty"/> whichs value should be set.</param> /// <param name="extension">The <see cref="DependencyExtension"/> which provides provides the <see cref="DependencyExpression"/>.</param> public void SetValueExtensionOverride(DependencyProperty property, DependencyExtension extension) => GetStorage(property, extension != null, true)?.SetExtensionOverride(this, extension);
/// <summary> /// Initializes a new instance of the <see cref="PropertyExtensionChangedEventArgs"/>. /// </summary> /// <param name="property">The property which is affected.</param> /// <param name="newValue">The new markup value of the property.</param> /// <param name="oldValue">The old markup value of the property.</param> internal PropertyExtensionChangedEventArgs(DependencyProperty property, DependencyExtension newValue, DependencyExtension oldValue) { Property = property; NewValue = newValue; OldValue = oldValue; }