public FrameworkPropertyMetadata(object defaultValue, FrameworkPropertyMetadataOptions options, PropertyInvalidatedCallback propertyInvalidatedCallback, GetValueOverride getValueOverride, SetValueOverride setValueOverride) : base(defaultValue, propertyInvalidatedCallback, getValueOverride, setValueOverride) { _options = new BitVector32((int)options); }
public FrameworkPropertyMetadata( object defaultValue, FrameworkPropertyMetadataOptions flags) : base(defaultValue) { this.LoadFlags(flags); }
public FrameworkPropertyMetadata( object defaultValue, FrameworkPropertyMetadataOptions flags, PropertyChangedCallback propertyChangedCallback) : base(defaultValue, propertyChangedCallback) { this.LoadFlags(flags); }
protected static DependencyProperty CreateDoubleDP( string name, double defaultValue, FrameworkPropertyMetadataOptions metadataOptions, double minValue, double maxValue, bool attached) { return CreateDoubleDP(name, defaultValue, metadataOptions, minValue, false, maxValue, false, attached); }
public FrameworkPropertyMetadata(Object defaultValue, FrameworkPropertyMetadataOptions flags) { }
protected static DependencyProperty CreateDoubleDP( string name, double defaultValue, FrameworkPropertyMetadataOptions metadataOptions, double minValue, bool includeMin, double maxValue, bool includeMax, bool attached) { if (double.IsNaN(minValue)) { Util.RequireArgument(double.IsNaN(maxValue), "maxValue", "If minValue is NaN, then maxValue must be."); if (attached) { return DependencyProperty.RegisterAttached( name, typeof(double), typeof(AnimatingTilePanel), new FrameworkPropertyMetadata(defaultValue, metadataOptions)); } else { return DependencyProperty.Register( name, typeof(double), typeof(AnimatingTilePanel), new FrameworkPropertyMetadata(defaultValue, metadataOptions)); } } else { Util.RequireArgument(!double.IsNaN(maxValue), "maxValue"); Util.RequireArgument(maxValue >= minValue, "maxValue"); ValidateValueCallback validateValueCallback = delegate(object objValue) { double value = (double)objValue; if (includeMin) { if (value < minValue) { return false; } } else { if (value <= minValue) { return false; } } if (includeMax) { if (value > maxValue) { return false; } } else { if (value >= maxValue) { return false; } } return true; }; if (attached) { return DependencyProperty.RegisterAttached( name, typeof(double), typeof(AnimatingTilePanel), new FrameworkPropertyMetadata(defaultValue, metadataOptions), validateValueCallback); } else { return DependencyProperty.Register( name, typeof(double), typeof(AnimatingTilePanel), new FrameworkPropertyMetadata(defaultValue, metadataOptions), validateValueCallback); } } }
public FrameworkPropertyMetadata ( object defaultValue, PropertyChangedCallback callback, FrameworkPropertyMetadataOptions options, UpdateSourceTrigger defaultUpdateSourceTrigger ) : this (defaultValue, callback, options) { this.DefaultUpdateSourceTrigger = defaultUpdateSourceTrigger; }
public FrameworkPropertyMetadata(Object defaultValue, FrameworkPropertyMetadataOptions flags, PropertyChangedCallback propertyChangedCallback, CoerceValueCallback coerceValueCallback, bool isAnimationProhibited, System.Windows.Data.UpdateSourceTrigger defaultUpdateSourceTrigger) { }
public FrameworkPropertyMetadata(object defaultValue, FrameworkPropertyMetadataOptions flags) { }
public FrameworkPropertyMetadata (object defaultValue, FrameworkPropertyMetadataOptions options ) : base(defaultValue) { SetOptions(options); }
/// <summary> /// Determines if the specified options have the <see cref="FrameworkPropertyMetadataOptions.Inherits"/> set. /// </summary> /// <param name="options"></param> /// <returns></returns> public static bool HasInherits(this FrameworkPropertyMetadataOptions options) => (options & FrameworkPropertyMetadataOptions.Inherits) != 0;
private static bool IsFlagSet(FrameworkPropertyMetadataOptions flag, FrameworkPropertyMetadataOptions flags) { return (flags & flag) != 0; }
private void LoadFlags(FrameworkPropertyMetadataOptions flags) { this.AffectsArrange = (flags & FrameworkPropertyMetadataOptions.AffectsArrange) != 0; this.AffectsMeasure = (flags & FrameworkPropertyMetadataOptions.AffectsMeasure) != 0; this.AffectsParentArrange = (flags & FrameworkPropertyMetadataOptions.AffectsParentArrange) != 0; this.AffectsParentMeasure = (flags & FrameworkPropertyMetadataOptions.AffectsParentMeasure) != 0; this.AffectsRender = (flags & FrameworkPropertyMetadataOptions.AffectsRender) != 0; this.BindsTwoWayByDefault = (flags & FrameworkPropertyMetadataOptions.BindsTwoWayByDefault) != 0; this.Inherits = (flags & FrameworkPropertyMetadataOptions.Inherits) != 0; this.IsNotDataBindable = (flags & FrameworkPropertyMetadataOptions.NotDataBindable) != 0; this.Journal = (flags & FrameworkPropertyMetadataOptions.Journal) != 0; this.OverridesInheritanceBehavior = (flags & FrameworkPropertyMetadataOptions.OverridesInheritanceBehavior) != 0; this.SubPropertiesDoNotAffectRender = (flags & FrameworkPropertyMetadataOptions.SubPropertiesDoNotAffectRender) != 0; }
public FrameworkPropertyMetadata(object defaultValue, FrameworkPropertyMetadataOptions flags, PropertyChangedCallback propertyChangedCallback) { }
public FrameworkPropertyMetadata( object defaultValue, FrameworkPropertyMetadataOptions flags, PropertyChangedCallback propertyChangedCallback, CoerceValueCallback coerceValueCallback, bool isAnimationProhibited, UpdateSourceTrigger defaultUpdateSourceTrigger) : base(defaultValue, propertyChangedCallback, coerceValueCallback, isAnimationProhibited) { this.DefaultUpdateSourceTrigger = defaultUpdateSourceTrigger; this.LoadFlags(flags); }
public static DependencyProperty RegisterWithOptions <TProp>(string propertyName, FrameworkPropertyMetadataOptions options, TProp defaultValue = default(TProp), PropertyChangedCallback propertyChangedCallback = null) { return(DependencyProperty.Register(propertyName, typeof(TProp), GetOwnerType(), new FrameworkPropertyMetadata(defaultValue, options, propertyChangedCallback))); }
protected static DependencyProperty CreateDoubleDP( string name, double defaultValue, FrameworkPropertyMetadataOptions metadataOptions, double minValue, bool includeMin, double maxValue, bool includeMax, bool attached) { Contract.Requires(!double.IsNaN(minValue)); Contract.Requires(!double.IsNaN(maxValue)); Contract.Requires(maxValue >= minValue); ValidateValueCallback validateValueCallback = delegate(object objValue) { double value = (double)objValue; if (includeMin) { if (value < minValue) { return(false); } } else { if (value <= minValue) { return(false); } } if (includeMax) { if (value > maxValue) { return(false); } } else { if (value >= maxValue) { return(false); } } return(true); }; if (attached) { return(DependencyProperty.RegisterAttached( name, typeof(double), typeof(AnimatingTilePanel), new FrameworkPropertyMetadata(defaultValue, metadataOptions), validateValueCallback)); } else { return(DependencyProperty.Register( name, typeof(double), typeof(AnimatingTilePanel), new FrameworkPropertyMetadata(defaultValue, metadataOptions), validateValueCallback)); } }
protected static DependencyProperty CreateDoubleDP( string name, double defaultValue, FrameworkPropertyMetadataOptions metadataOptions, double minValue, bool includeMin, double maxValue, bool includeMax, bool attached) { Contract.Requires(!double.IsNaN(minValue)); Contract.Requires(!double.IsNaN(maxValue)); Contract.Requires(maxValue >= minValue); ValidateValueCallback validateValueCallback = delegate(object objValue) { var value = (double)objValue; if (includeMin) { if (value < minValue) { return false; } } else { if (value <= minValue) { return false; } } if (includeMax) { if (value > maxValue) { return false; } } else { if (value >= maxValue) { return false; } } return true; }; if (attached) { return DependencyProperty.RegisterAttached( name, typeof(double), typeof(AnimatingPanel), new FrameworkPropertyMetadata(defaultValue, metadataOptions), validateValueCallback); } else { return DependencyProperty.Register( name, typeof(double), typeof(AnimatingPanel), new FrameworkPropertyMetadata(defaultValue, metadataOptions), validateValueCallback); } }
/// <summary> /// Determines if the specified options have the <see cref="FrameworkPropertyMetadataOptions.ValueDoesNotInheritDataContext"/> set. /// </summary> /// <param name="options"></param> /// <returns></returns> public static bool HasValueDoesNotInheritDataContext(this FrameworkPropertyMetadataOptions options) => (options & FrameworkPropertyMetadataOptions.ValueDoesNotInheritDataContext) != 0;
public FrameworkPropertyMetadata(object defaultValue, FrameworkPropertyMetadataOptions flags, PropertyChangedCallback propertyChangedCallback, CoerceValueCallback coerceValueCallback, bool isAnimationProhibited) : base(defaultValue, propertyChangedCallback, coerceValueCallback, isAnimationProhibited) { TranslateFlags(flags); }
/// <summary> /// Determines if the specified options have <see cref="FrameworkPropertyMetadataOptions.AffectsMeasure"/> set. /// </summary> public static bool HasAffectsMeasure(this FrameworkPropertyMetadataOptions options) => (options & FrameworkPropertyMetadataOptions.AffectsMeasure) != 0;
/// <summary> /// Registers a Dependeny Property for the application /// </summary> /// <typeparam name="T">The datatype of the property</typeparam> /// <param name="Property">The wrapper property that reads and writes the dependency property</param> /// <param name="DependencyProperty">The actual dependency property</param> /// <param name="DefaultValue">The default value for the property</param> /// <param name="Flags">The flags that describe the property behavior</param> /// <param name="PropertyChangedCallback">The method that should be executed when the value of the property has changed</param> public DependencyPropertyRegistrator <TOwner> Register <T>(Expression <Func <TOwner, T> > Property, out DependencyProperty DependencyProperty, T DefaultValue, FrameworkPropertyMetadataOptions Flags, Action <TOwner, T, T> PropertyChangedCallback) { DependencyProperty = DependencyProperty.Register((Property.Body as MemberExpression)?.Member.Name ?? Property.ToString(), typeof(T), typeof(TOwner), new FrameworkPropertyMetadata(DefaultValue, Flags, ActionToCallback(PropertyChangedCallback))); return(this); }
public FrameworkPropertyMetadata(object defaultValue, FrameworkPropertyMetadataOptions options) : base(defaultValue) { _options = new BitVector32((int)options); }
/// <summary> /// Determines if the conversion of a set value to the type of a <see cref="DependencyProperty"/> should be performed. /// </summary> public static bool HasAutoConvert(this FrameworkPropertyMetadataOptions options) => (options & FrameworkPropertyMetadataOptions.AutoConvert) != 0;
/// <summary> /// Gets the dependencies properties for the specified type with specific Framework metadata options /// </summary> /// <param name="type">A dependency object</param> /// <param name="options">A set of flags that must be set</param> /// <returns>An array of Dependency Properties.</returns> internal static DependencyProperty[] GetFrameworkPropertiesForType(Type type, FrameworkPropertyMetadataOptions options) { DependencyProperty[] result = null; var key = CachedTuple.Create(type, options); if (!_getFrameworkPropertiesForType.TryGetValue(key, out result)) { _getFrameworkPropertiesForType.Add(key, result = InternalGetFrameworkPropertiesForType(type, options)); } return(result); }
/// <summary> /// Determines if the specified options have <see cref="FrameworkPropertyMetadataOptions.AffectsRender"/> set. /// </summary> public static bool HasAffectsRender(this FrameworkPropertyMetadataOptions options) => (options & FrameworkPropertyMetadataOptions.AffectsRender) != 0;
private static DependencyProperty[] InternalGetFrameworkPropertiesForType(Type type, FrameworkPropertyMetadataOptions options) { var output = new List <DependencyProperty>(); foreach (var prop in GetPropertiesForType(type)) { var propertyOptions = (prop.GetMetadata(type) as FrameworkPropertyMetadata)?.Options; if (propertyOptions != null && (propertyOptions & options) != 0) { output.Add(prop); } } return(output.ToArray()); }
void SetOptions (FrameworkPropertyMetadataOptions options) { this.AffectsArrange = options.IsFlagSet(FrameworkPropertyMetadataOptions.AffectsArrange); this.AffectsMeasure = options.IsFlagSet(FrameworkPropertyMetadataOptions.AffectsMeasure); this.AffectsParentArrange = options.IsFlagSet(FrameworkPropertyMetadataOptions.AffectsParentArrange); this.AffectsParentMeasure = options.IsFlagSet(FrameworkPropertyMetadataOptions.AffectsParentMeasure); this.AffectsRender = options.IsFlagSet(FrameworkPropertyMetadataOptions.AffectsRender); this.BindsTwoWayByDefault = options.IsFlagSet(FrameworkPropertyMetadataOptions.BindsTwoWayByDefault); this.Inherits = options.IsFlagSet(FrameworkPropertyMetadataOptions.Inherits); this.Journal = options.IsFlagSet(FrameworkPropertyMetadataOptions.Journal); this.IsNotDataBindable = options.IsFlagSet(FrameworkPropertyMetadataOptions.NotDataBindable); this.OverridesInheritanceBehavior = options.IsFlagSet(FrameworkPropertyMetadataOptions.OverridesInheritanceBehavior); this.SubPropertiesDoNotAffectRender = options.IsFlagSet(FrameworkPropertyMetadataOptions.SubPropertiesDoNotAffectRender); }
private static DependencyProperty Register <T>(string name, T defaultValue, PropertyChangedCallback callback, FrameworkPropertyMetadataOptions fpmo = FrameworkPropertyMetadataOptions.None) { if (callback != null) { return(DependencyProperty.Register( name, typeof(T), typeof(NicoChromiumWindow), new FrameworkPropertyMetadata(defaultValue, FrameworkPropertyMetadataOptions.BindsTwoWayByDefault, callback) )); } else { return(DependencyProperty.Register( name, typeof(T), typeof(NicoChromiumWindow), new FrameworkPropertyMetadata(defaultValue, fpmo) )); } }
public FrameworkPropertyMetadata (object defaultValue, PropertyChangedCallback callback, FrameworkPropertyMetadataOptions options ) : base(defaultValue, callback) { SetOptions(options); }
public FrameworkPropertyMetadata(object defaultValue, FrameworkPropertyMetadataOptions flags) : this(defaultValue) { this.TranslateFlags(flags); }
public FrameworkPropertyMetadata(Object defaultValue, FrameworkPropertyMetadataOptions flags, PropertyChangedCallback propertyChangedCallback, CoerceValueCallback coerceValueCallback, bool isAnimationProhibited) { }
public FrameworkPropertyMetadata(object defaultValue, FrameworkPropertyMetadataOptions flags, PropertyChangedCallback propertyChangedCallback) : this(defaultValue, flags) { this.PropertyChangedCallback = propertyChangedCallback; }
public FrameworkPropertyMetadata(Object defaultValue, FrameworkPropertyMetadataOptions flags, PropertyChangedCallback propertyChangedCallback, CoerceValueCallback coerceValueCallback) { }
public FrameworkPropertyMetadata(object defaultValue, FrameworkPropertyMetadataOptions flags, PropertyChangedCallback propertyChangedCallback, CoerceValueCallback coerceValueCallback) : this(defaultValue, flags, propertyChangedCallback) { this.CoerceValueCallback = coerceValueCallback; }
private static bool HasSupportedFlags(FrameworkPropertyMetadataOptions flags) { return PropertyMetadata.IsFlagSet(FrameworkPropertyMetadataOptions.AffectsMeasure, flags) || PropertyMetadata.IsFlagSet(FrameworkPropertyMetadataOptions.AffectsArrange, flags) || PropertyMetadata.IsFlagSet(FrameworkPropertyMetadataOptions.AffectsParentMeasure, flags) || PropertyMetadata.IsFlagSet(FrameworkPropertyMetadataOptions.AffectsParentArrange, flags); }
public FrameworkPropertyMetadata(object defaultValue, FrameworkPropertyMetadataOptions flags, PropertyChangedCallback propertyChangedCallback, CoerceValueCallback coerceValueCallback, bool isAnimationProhibited) : this(defaultValue, flags, propertyChangedCallback, coerceValueCallback) { }
public FrameworkPropertyMetadata(object defaultValue, FrameworkPropertyMetadataOptions flags, PropertyChangedCallback propertyChangedCallback, CoerceValueCallback coerceValueCallback, bool isAnimationProhibited, UpdateSourceTrigger defaultUpdateSourceTrigger) : this(defaultValue, flags, propertyChangedCallback, coerceValueCallback) { this.DefaultUpdateSourceTrigger = defaultUpdateSourceTrigger; }
public FrameworkPropertyMetadata( object defaultValue, FrameworkPropertyMetadataOptions flags) : base(defaultValue, new PropertyChangedCallback(new PropertyChangeHook(flags, null, null).OnPropertyChanged)) { }
public FrameworkPropertyMetadata(object defaultValue, FrameworkPropertyMetadataOptions flags) : base(defaultValue) { TranslateFlags(flags); }
private static bool IsFlagSet(FrameworkPropertyMetadataOptions flag, FrameworkPropertyMetadataOptions flags) { return((flags & flag) != 0); }
public FrameworkPropertyMetadata(object defaultValue, FrameworkPropertyMetadataOptions flags, PropertyChangedCallback propertyChangedCallback, CoerceValueCallback coerceValueCallback, bool isAnimationProhibited, UpdateSourceTrigger defaultUpdateSourceTrigger) : base(defaultValue, propertyChangedCallback, coerceValueCallback, isAnimationProhibited) { if (!BindingOperations.IsValidUpdateSourceTrigger(defaultUpdateSourceTrigger)) throw new InvalidEnumArgumentException("defaultUpdateSourceTrigger", (int) defaultUpdateSourceTrigger, typeof(UpdateSourceTrigger)); if (defaultUpdateSourceTrigger == UpdateSourceTrigger.Default) throw new ArgumentException(SR.Get(SRID.NoDefaultUpdateSourceTrigger), "defaultUpdateSourceTrigger"); TranslateFlags(flags); DefaultUpdateSourceTrigger = defaultUpdateSourceTrigger; }
private bool ReadFlag(FrameworkPropertyMetadataOptions id) { return((id & _flags) != 0); }
private void TranslateFlags(FrameworkPropertyMetadataOptions flags) { Initialize(); // Convert flags to state sets. If a flag is set, then, // the value is set on the respective property. Otherwise, // the state remains unset // This means that state is cumulative across base classes // on a merge where appropriate if (IsFlagSet(FrameworkPropertyMetadataOptions.AffectsMeasure, flags)) { AffectsMeasure = true; } if (IsFlagSet(FrameworkPropertyMetadataOptions.AffectsArrange, flags)) { AffectsArrange = true; } if (IsFlagSet(FrameworkPropertyMetadataOptions.AffectsParentMeasure, flags)) { AffectsParentMeasure = true; } if (IsFlagSet(FrameworkPropertyMetadataOptions.AffectsParentArrange, flags)) { AffectsParentArrange = true; } if (IsFlagSet(FrameworkPropertyMetadataOptions.AffectsRender, flags)) { AffectsRender = true; } if (IsFlagSet(FrameworkPropertyMetadataOptions.Inherits, flags)) { IsInherited = true; } if (IsFlagSet(FrameworkPropertyMetadataOptions.OverridesInheritanceBehavior, flags)) { OverridesInheritanceBehavior = true; } if (IsFlagSet(FrameworkPropertyMetadataOptions.NotDataBindable, flags)) { IsNotDataBindable = true; } if (IsFlagSet(FrameworkPropertyMetadataOptions.BindsTwoWayByDefault, flags)) { BindsTwoWayByDefault = true; } if (IsFlagSet(FrameworkPropertyMetadataOptions.Journal, flags)) { Journal = true; } if (IsFlagSet(FrameworkPropertyMetadataOptions.SubPropertiesDoNotAffectRender, flags)) { SubPropertiesDoNotAffectRender = true; } }
/// <summary> /// Registers a Dependeny Property for the application /// </summary> /// <typeparam name="T">The datatype of the property</typeparam> /// <param name="Property">The wrapper property that reads and writes the dependency property</param> /// <param name="DependencyProperty">The actual dependency property</param> /// <param name="DefaultValue">The default value for the property</param> /// <param name="Flags">The flags that describe the property behavior</param> public DependencyPropertyRegistrator <TOwner> Register <T>(Expression <Func <TOwner, T> > Property, out DependencyProperty DependencyProperty, T DefaultValue, FrameworkPropertyMetadataOptions Flags) { return(Register(Property, out DependencyProperty, DefaultValue, Flags, null)); }