public LayerDynamicPropertiesViewModel(string property, LayerEditorViewModel layerEditorViewModel) { _property = property; _layerEditorViewModel = layerEditorViewModel; // Look for the existing property model Proposed = new DynamicPropertiesModel(); var original = layerEditorViewModel .ProposedLayer .Properties .DynamicProperties .FirstOrDefault(lp => lp.LayerProperty == _property); if (original == null) { Proposed.LayerProperty = property; Proposed.LayerPropertyType = LayerPropertyType.PercentageOf; } else Proposed = GeneralHelpers.Clone(original); PropertyChanged += OnPropertyChanged; SetupControls(); }