public PropertyMetadata(Func <object> getDefaultValue, PropertyChangedCallback propertyChangedCallback, PreSetValueCallback preSetValueCallback, GotValueCallback gotValueCallback)
 {
     this.GetDefaultValue     = getDefaultValue;
     this.ChangedCallBack     = propertyChangedCallback;
     this.PreSetValueCallback = preSetValueCallback;
     this.GotValueCallback    = gotValueCallback;
 }
 public PropertyMetadata(Func <object> getDefaultValue, GotValueCallback gotValueCallback)
     : this(getDefaultValue, null, null, gotValueCallback)
 {
 }