public PropertyElementViewModel(ElementCollectionViewModel containingCollection, ConfigurationElement thisElement)
            : base(containingCollection, thisElement)
        {
            var valueProperty = TypeDescriptor.GetProperties(typeof(PropertyElement))
                                .Cast <PropertyDescriptor>()
                                .Where(x => x.Name == "Value")
                                .First();

            propertyValueProperty = ContainingSection.CreateProperty <ValueElementProperty>(
                new DependencyOverride <ElementViewModel>(this),
                new DependencyOverride <PropertyDescriptor>(valueProperty));
        }
        public ParameterElementViewModel(ElementCollectionViewModel containingCollection, ConfigurationElement thisElement)
            : base(containingCollection, thisElement)
        {
            var valueProperty = TypeDescriptor.GetProperties(typeof(ParameterElement))
                                              .Cast<PropertyDescriptor>()
                                              .Where(x => x.Name == "Value")
                                              .First();

            parameterValueProperty = ContainingSection.CreateProperty<ValueElementProperty>(
                                            new DependencyOverride<ElementViewModel>(this),
                                            new DependencyOverride<PropertyDescriptor>(valueProperty));
        }