//private IEnumerable<PropertyDefinition> GetDefinitions(ICustomTypeDescriptor descriptor) {
        //    foreach (PropertyDescriptor prop in descriptor.GetProperties()) {
        //        var def = new PropertyDefinition();

        //         prop.GetValue(descriptor)
        //    }
        //}

        private void Button_Click(object sender, RoutedEventArgs e)
        {
#if DEBUG
            //rpg.PropertyDefinitions.Clear();
#endif

            if (index % 2 == 0)
            {
                var item = FileRowFactory.Current.CreateFileRow(FileFactory.CreateRegularFile(string.Empty));
                _vm.Item = item;
            }
            else
            {
                var item = new CustomTypeDescriptorWrapper();
                for (int i = 0; i < 40; i++)
                {
                    item.CompositeCustomMemberDecriptor(new SingularityForensic.Ext.ExtGroupDesc(new SingularityForensic.Ext.StExtGroupDesc())
                    {
#if DEBUG
                        InternalDisplayName = i.ToString()
#endif
                    });
                }

                _vm.Item = item;
            }
            index++;
        }
        public TestPropertyGrid()
        {
            InitializeComponent();
            var item = new CustomTypeDescriptorWrapper();

            item.CompositeCustomMemberDecriptor(new SingularityForensic.FAT.FATDBR(new SingularityForensic.FAT.StFatDBR(), 0));
            _vm = new PropertyGridTestVM {
                Item = item
            };
            this.DataContext = _vm;
        }