public static void ReceiveTypeConverter(object targetObject, XamlSetTypeConverterEventArgs eventArgs) { Condition condition = targetObject as Condition; if (condition == null) { throw new ArgumentNullException(nameof(targetObject)); } if (eventArgs == null) { throw new ArgumentNullException(nameof(eventArgs)); } if (eventArgs.Member.Name == "Property") { condition._unresolvedProperty = eventArgs.Value; condition._serviceProvider = eventArgs.ServiceProvider; condition._cultureInfoForTypeConverter = eventArgs.CultureInfo; eventArgs.Handled = true; } else if (eventArgs.Member.Name == "Value") { condition._unresolvedValue = eventArgs.Value; condition._serviceProvider = eventArgs.ServiceProvider; condition._cultureInfoForTypeConverter = eventArgs.CultureInfo; eventArgs.Handled = true; } }
public static void ReceiveTypeConverter(object targetObject, XamlSetTypeConverterEventArgs eventArgs) { var setter = targetObject as IterativeReaction; if (setter == null) { throw new ArgumentNullException(nameof(targetObject)); } if (eventArgs == null) { throw new ArgumentNullException(nameof(eventArgs)); } if (eventArgs.Member.Name == nameof(IterationTargetPropertyName)) { //setter._unresolvedProperty = eventArgs.Value; //setter._serviceProvider = eventArgs.ServiceProvider; //setter._typeConverterCultureInfo = eventArgs.CultureInfo; eventArgs.Handled = true; } else { throw new NotImplementedException(); //if (eventArgs.Member.Name != nameof(Value)) // return; //setter._unresolvedValue = eventArgs.Value; //setter._serviceProvider = eventArgs.ServiceProvider; //setter._typeConverterCultureInfo = eventArgs.CultureInfo; //eventArgs.Handled = true; } }
/// <summary>Handles cases where a type converter provides a value for a property of a <see cref="T:System.Windows.Trigger" /> object.</summary> /// <param name="targetObject">The object where the type converter sets the value.</param> /// <param name="eventArgs">Data that is relevant for type converter processing.</param> // Token: 0x06000C85 RID: 3205 RVA: 0x0002F20C File Offset: 0x0002D40C public static void ReceiveTypeConverter(object targetObject, XamlSetTypeConverterEventArgs eventArgs) { Trigger trigger = targetObject as Trigger; if (trigger == null) { throw new ArgumentNullException("targetObject"); } if (eventArgs == null) { throw new ArgumentNullException("eventArgs"); } if (eventArgs.Member.Name == "Property") { trigger._unresolvedProperty = eventArgs.Value; trigger._serviceProvider = eventArgs.ServiceProvider; trigger._cultureInfoForTypeConverter = eventArgs.CultureInfo; eventArgs.Handled = true; return; } if (eventArgs.Member.Name == "Value") { trigger._unresolvedValue = eventArgs.Value; trigger._serviceProvider = eventArgs.ServiceProvider; trigger._cultureInfoForTypeConverter = eventArgs.CultureInfo; eventArgs.Handled = true; } }
public static void HandlePropertySet(object targetObject, XamlSetTypeConverterEventArgs eventArgs) { if (targetObject == null) { throw new ArgumentNullException(nameof(targetObject)); } if (eventArgs == null) { throw new ArgumentNullException(nameof(eventArgs)); } var injectedTypeConverterAttributes = eventArgs.Member.UnderlyingMember .GetCustomAttributes(typeof(InjectTypeConverterAttribute), true) .OfType <InjectTypeConverterAttribute>() .ToArray(); if (injectedTypeConverterAttributes.Any()) { if (injectedTypeConverterAttributes.Length > 1) { throw new NotSupportedException("Multiple \'InjectTypeConverterAttribute\' attributes discovered."); } var injectedTypeConverterAttribute = injectedTypeConverterAttributes.Single(); var converterType = Type.GetType(injectedTypeConverterAttribute.AssemblyQualifiedTypeName); if (converterType == null) { throw new TypeLoadException("Injected type converter type cannot be resolved."); } var constructor = converterType.GetConstructor(new Type[] { }); if (constructor == null) { throw new NotSupportedException("Injected type converter constructor must have a parameterless constructor."); } var converterTypeInstance = constructor.Invoke(new object[] { }); var converter = converterTypeInstance as TypeConverter; if (converter == null) { throw new Exception($"Type \'{converterTypeInstance.GetType().Name}\' not valid. Must be of type \'TypeConverter\'."); } var convertedValue = converter.ConvertFrom(eventArgs.Value); if (convertedValue == null) { throw new NullReferenceException(nameof(convertedValue)); } var inv = eventArgs.Member.Invoker; inv.SetValue(targetObject, convertedValue); eventArgs.Handled = true; } }
public static void ReceiveTypeConverter(object targetObject, XamlSetTypeConverterEventArgs eventArgs) { // The DependencyProperty refered to by Property may depend on the value of TargetName, // but we don't know that yet, so defer loading Property until EndInit(). if (eventArgs.Member.Name == "Property") { Setter setter = (Setter)targetObject; setter.propertyName = (string)eventArgs.Value; setter.serviceProvider = eventArgs.ServiceProvider; eventArgs.Handled = true; } }
public static void ReceiveTypeConverter(object targetObject, XamlSetTypeConverterEventArgs eventArgs) { var setter = targetObject as ReactiveSetter; if (setter == null) { throw new ArgumentNullException(nameof(targetObject)); } if (eventArgs == null) { throw new ArgumentNullException(nameof(eventArgs)); } if (eventArgs.Member.Name == nameof(Property)) { setter._unresolvedProperty = eventArgs.Value; setter._typeDescriptorContext = eventArgs.ServiceProvider; setter._typeConverterCultureInfo = eventArgs.CultureInfo; eventArgs.Handled = true; } //else if (eventArgs.Member.Name == nameof(TargetName)) //{ // var rootObjectProvider = (IRootObjectProvider)eventArgs.ServiceProvider // .GetService(typeof(IRootObjectProvider)); // var rootFrameworkElement = rootObjectProvider.RootObject as FrameworkElement; // if (rootFrameworkElement == null) // throw new Exception("cannot find root fe"); // var i = rootFrameworkElement.FindName(eventArgs.Value.ToString()); //} else { if (eventArgs.Member.Name != nameof(Value)) { return; } setter._unresolvedValue = eventArgs.Value; setter._typeDescriptorContext = eventArgs.ServiceProvider; setter._typeConverterCultureInfo = eventArgs.CultureInfo; eventArgs.Handled = true; } }
// can be private. static void HandleTypeConverter(object o, XamlSetTypeConverterEventArgs a) { }
public static void ReceiveTypeConverter(object targetObject, XamlSetTypeConverterEventArgs eventArgs) { TypeConverterInjectionCore.HandlePropertySet(targetObject, eventArgs); }
public static void ReceiveTypeConverter(object targetObject, XamlSetTypeConverterEventArgs eventArgs) { }
// can be private. static void HandleTypeConverter (object o, XamlSetTypeConverterEventArgs a) { }