public void SetDefaultValue(string propertyName, object value) { if (runtimeProxies.TryGetValue(propertyName, out IRuntimeProxy runtimeProxy)) { runtimeProxy.Manager.ObservableProperty.OverwriteFrom(value, false); } if (collectionProxies.TryGetValue(propertyName, out ICollectionProxy collectionProxy)) { collectionProxy.AddDefaultElements((IEnumerable)value); } if (!ObservableProperty.TrySetDefaultValue(propertyName, value)) { throw new NotSupportedException(propertyName); } }