public FrameworkElement ResolveEditor(PropertyItem propertyItem)
    {
        if (propertyItem.Value != null)
        {
            var objects = propertyItem.Value;
            foreach (var o in (IEnumerable)objects)
            {
                var propertyGrid = new Xceed.Wpf.Toolkit.PropertyGrid.PropertyGrid
                {
                    IsCategorized             = false,
                    IsMiscCategoryLabelHidden = true,
                    ShowAdvancedOptions       = false,
                    ShowDescriptionByTooltip  = true,
                    ShowPreview     = false,
                    ShowSearchBox   = false,
                    ShowSortOptions = false,
                    ShowTitle       = true,
                    ShowSummary     = false,
                    SelectedObject  = o,
                };
                Container.Children.Add(propertyGrid);
            }
        }

        return(this);
    }
        private void PropertyGrid_PropertyValueChanged(object sender, Xceed.Wpf.Toolkit.PropertyGrid.PropertyValueChangedEventArgs e)
        {
            Xceed.Wpf.Toolkit.PropertyGrid.PropertyGrid grid = sender as Xceed.Wpf.Toolkit.PropertyGrid.PropertyGrid;
            OnPropertyChanged(((Xceed.Wpf.Toolkit.PropertyGrid.PropertyItemBase)e.OriginalSource).DisplayName);

            if (this.SelectedRow != null)
            {
                this.SelectedRow.JSON = Newtonsoft.Json.JsonConvert.SerializeObject(this.SelectedCmd);
            }
        }