/// <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);
Пример #4
0
 /// <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;
 }