/// <summary>
        /// Sets the value of a dependency property on <paramref name="targetObject"/> using a markup extension.
        /// </summary>
        /// <remarks>This method does not support markup extensions like x:Static that depend on
        /// having a XAML file as context.</remarks>
        public static void SetValueToExtension(this DependencyObject targetObject, DependencyProperty property, MarkupExtension markupExtension)
        {
            if (targetObject == null)
                throw new ArgumentNullException("targetObject");
            if (property == null)
                throw new ArgumentNullException("property");
            if (markupExtension == null)
                throw new ArgumentNullException("markupExtension");

            var serviceProvider = new SetValueToExtensionServiceProvider(targetObject, property);
            targetObject.SetValue(property, markupExtension.ProvideValue(serviceProvider));
        }
Esempio n. 2
0
		/// <summary>
		/// Sets the value of a dependency property on <paramref name="targetObject"/> using a markup extension.
		/// </summary>
		/// <remarks>This method does not support markup extensions like x:Static that depend on
		/// having a XAML file as context.</remarks>
		public static void SetValueToExtension(this DependencyObject targetObject, DependencyProperty property, MarkupExtension markupExtension) {
			// This method was copied from ICSharpCode.Core.Presentation (with permission to switch license to X11)

			if (targetObject == null)
				throw new ArgumentNullException("targetObject");
			if (property == null)
				throw new ArgumentNullException("property");
			if (markupExtension == null)
				throw new ArgumentNullException("markupExtension");

			var serviceProvider = new SetValueToExtensionServiceProvider(targetObject, property);
			targetObject.SetValue(property, markupExtension.ProvideValue(serviceProvider));
		}
        /// <summary>
        /// Sets the value of a dependency property on <paramref name="targetObject"/> using a markup extension.
        /// </summary>
        /// <remarks>This method does not support markup extensions like x:Static that depend on
        /// having a XAML file as context.</remarks>
        public static void SetValueToExtension(this DependencyObject targetObject, DependencyProperty property, MarkupExtension markupExtension)
        {
            if (targetObject == null)
            {
                throw new ArgumentNullException("targetObject");
            }
            if (property == null)
            {
                throw new ArgumentNullException("property");
            }
            if (markupExtension == null)
            {
                throw new ArgumentNullException("markupExtension");
            }

            var serviceProvider = new SetValueToExtensionServiceProvider(targetObject, property);

            targetObject.SetValue(property, markupExtension.ProvideValue(serviceProvider));
        }
Esempio n. 4
0
        /// <summary>
        /// Sets the value of a dependency property on <paramref name="targetObject"/> using a markup extension.
        /// </summary>
        /// <remarks>This method does not support markup extensions like x:Static that depend on
        /// having a XAML file as context.</remarks>
        public static void SetValueToExtension(this DependencyObject targetObject, DependencyProperty property, MarkupExtension markupExtension)
        {
            // This method was copied from ICSharpCode.Core.Presentation (with permission to switch license to X11)

            if (targetObject == null)
            {
                throw new ArgumentNullException(nameof(targetObject));
            }
            if (property == null)
            {
                throw new ArgumentNullException(nameof(property));
            }
            if (markupExtension == null)
            {
                throw new ArgumentNullException(nameof(markupExtension));
            }

            var serviceProvider = new SetValueToExtensionServiceProvider(targetObject, property);

            targetObject.SetValue(property, markupExtension.ProvideValue(serviceProvider));
        }