public override IVirtualizedElement <PropertyGridItemBase> CreateElement(PropertyGridItemBase data, object context)
        {
            if (propertyGridElement != null)
            {
                CreatePropertyGridItemElementEventArgs args = new CreatePropertyGridItemElementEventArgs(data);
                propertyGridElement.OnCreateItemElement(args);
                if (args.ItemElement != null)
                {
                    return(args.ItemElement);
                }
            }

            if (data is PropertyGridItem)
            {
                return(new PropertyGridItemElement());
            }

            if (data is PropertyGridGroupItem)
            {
                return(new PropertyGridGroupElement());
            }

            return(base.CreateElement(data, context));
        }