protected override SizeF MeasureOverride(SizeF availableSize) { SizeF desiredSize = Size.Empty; PropertyGridGroupElement visualItem = this.VisualItem as PropertyGridGroupElement; PropertyGridTableElement propertyGridTableElement = this.PropertyGridTableElement; if (propertyGridTableElement != null && visualItem != null) { PropertyGridGroupItem groupDataItem = visualItem.Data as PropertyGridGroupItem; if (groupDataItem != null) { desiredSize.Width = propertyGridTableElement.ItemIndent; if (float.IsPositiveInfinity(availableSize.Height)) { desiredSize.Height = propertyGridTableElement.ItemHeight; } else { desiredSize.Height = availableSize.Height; } } } return(desiredSize); }
public virtual void Synchronize() { if (this.VisualItem is PropertyGridItemElement) { PropertyGridItemElement visualItem = VisualItem as PropertyGridItemElement; if (visualItem != null) { this.IsExpanded = visualItem.Data.Expanded; this.IsSelected = visualItem.IsSelected; PropertyGridItem dataItem = visualItem.Data as PropertyGridItem; if (dataItem.Expandable) { this.expanderItem.Visibility = ElementVisibility.Visible; } else { this.expanderItem.Visibility = ElementVisibility.Hidden; } } bool isInEditMode = visualItem.IsInEditMode; if (isInEditMode && visualItem.Data.Level == 0 && visualItem.Data.GridItems.Count > 0) { isInEditMode = false; } this.SetValue(IsInEditModeProperty, isInEditMode); } if (this.VisualItem is PropertyGridGroupElement) { PropertyGridGroupElement visualItem = VisualItem as PropertyGridGroupElement; if (visualItem != null) { this.IsExpanded = visualItem.Data.Expanded; this.IsSelected = visualItem.IsSelected; PropertyGridGroupItem dataItem = visualItem.Data as PropertyGridGroupItem; if (dataItem.GridItems.Count == 0) { this.expanderItem.Visibility = ElementVisibility.Hidden; } else { this.expanderItem.Visibility = ElementVisibility.Visible; } } } this.UpdateSignImage(); }
public override AccessibleObject HitTest(int x, int y) { PropertyGridGroupElement elementAtPoint = this.Control.RootElement.ElementTree.GetElementAtPoint(this.Control.PointToClient(new Point(x, y))) as PropertyGridGroupElement; if (elementAtPoint != null) { return((AccessibleObject) new PropertyGridCellAccessibleObject(elementAtPoint.Data.Label, (PropertyGridItemBaseAccessibleObject)this)); } return(base.HitTest(x, y)); }
protected override SizeF MeasureOverride(SizeF availableSize) { SizeF empty = (SizeF)Size.Empty; PropertyGridGroupElement visualItem = this.VisualItem as PropertyGridGroupElement; PropertyGridTableElement gridTableElement = this.PropertyGridTableElement; if (gridTableElement != null && visualItem != null && visualItem.Data is PropertyGridGroupItem) { empty.Width = (float)gridTableElement.ItemIndent; empty.Height = !float.IsPositiveInfinity(availableSize.Height) ? availableSize.Height : (float)gridTableElement.ItemHeight; } return(empty); }