public override IVirtualizedElement <PropertyGridItemBase> CreateElement( PropertyGridItemBase data, object context) { if (this.propertyGridElement != null) { CreatePropertyGridItemElementEventArgs e = new CreatePropertyGridItemElementEventArgs(data); PropertyGridItem propertyGridItem = data as PropertyGridItem; if (propertyGridItem != null) { e.ItemElementType = (object)propertyGridItem.PropertyType == (object)typeof(bool) || (object)propertyGridItem.PropertyType == (object)typeof(bool?) || (object)propertyGridItem.PropertyType == (object)typeof(ToggleState) ? typeof(PropertyGridCheckBoxItemElement) : ((object)propertyGridItem.PropertyType != (object)typeof(Color) ? typeof(PropertyGridItemElement) : typeof(PropertyGridColorItemElement)); } if (data is PropertyGridGroupItem) { e.ItemElementType = typeof(PropertyGridGroupElement); } this.propertyGridElement.OnCreateItemElement(e); if ((object)e.ItemElementType != null) { return((IVirtualizedElement <PropertyGridItemBase>)Activator.CreateInstance(e.ItemElementType)); } } return(base.CreateElement(data, context)); }
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)); }