Skip to content

Instantly share code, notes, and snippets.

@poizan42
Created June 14, 2018 11:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save poizan42/14e800bb08957babeb0e8150e869b9ca to your computer and use it in GitHub Desktop.
Save poizan42/14e800bb08957babeb0e8150e869b9ca to your computer and use it in GitHub Desktop.
private static FrameworkPropertyMetadata CloneFrameworkPropertyMetadata(FrameworkPropertyMetadata src)
{
FrameworkPropertyMetadataOptions options = FrameworkPropertyMetadataOptions.None;
if (src.AffectsArrange)
options |= FrameworkPropertyMetadataOptions.AffectsArrange;
if (src.AffectsMeasure)
options |= FrameworkPropertyMetadataOptions.AffectsMeasure;
if (src.AffectsParentArrange)
options |= FrameworkPropertyMetadataOptions.AffectsParentArrange;
if (src.AffectsParentMeasure)
options |= FrameworkPropertyMetadataOptions.AffectsParentMeasure;
if (src.AffectsRender)
options |= FrameworkPropertyMetadataOptions.AffectsRender;
if (src.BindsTwoWayByDefault)
options |= FrameworkPropertyMetadataOptions.BindsTwoWayByDefault;
if (src.Inherits)
options |= FrameworkPropertyMetadataOptions.Inherits;
if (src.Journal)
options |= FrameworkPropertyMetadataOptions.Journal;
if (src.IsNotDataBindable)
options |= FrameworkPropertyMetadataOptions.NotDataBindable;
if (src.OverridesInheritanceBehavior)
options |= FrameworkPropertyMetadataOptions.OverridesInheritanceBehavior;
if (src.SubPropertiesDoNotAffectRender)
options |= FrameworkPropertyMetadataOptions.SubPropertiesDoNotAffectRender;
return new FrameworkPropertyMetadata(
src.DefaultValue,
options,
src.PropertyChangedCallback,
src.CoerceValueCallback,
src.IsAnimationProhibited,
src.DefaultUpdateSourceTrigger);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment