Browse Source

Changes to make it easier to use and customize the propertygrid from external project

pull/315/head
tbulle 12 years ago
parent
commit
50c66e0f17
  1. 6
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/PropertyGrid/PropertyGrid.cs
  2. 9
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/PropertyGrid/PropertyGridView.cs
  3. 13
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Services/CreateComponentTool.cs

6
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/PropertyGrid/PropertyGrid.cs

@ -40,9 +40,13 @@ namespace ICSharpCode.WpfDesign.Designer.PropertyGrid
Dictionary<MemberDescriptor, PropertyNode> nodeFromDescriptor = new Dictionary<MemberDescriptor, PropertyNode>(); Dictionary<MemberDescriptor, PropertyNode> nodeFromDescriptor = new Dictionary<MemberDescriptor, PropertyNode>();
public Dictionary<MemberDescriptor, PropertyNode> NodeFromDescriptor { get { return nodeFromDescriptor; } }
public CategoriesCollection Categories { get; private set; } public CategoriesCollection Categories { get; private set; }
public PropertyNodeCollection Events { get; private set; } public PropertyNodeCollection Events { get; private set; }
public EventHandler AggregatePropertiesUpdated;
private PropertyGridGroupMode _groupMode; private PropertyGridGroupMode _groupMode;
public PropertyGridGroupMode GroupMode public PropertyGridGroupMode GroupMode
@ -205,6 +209,8 @@ namespace ICSharpCode.WpfDesign.Designer.PropertyGrid
} }
} finally { } finally {
reloadActive = false; reloadActive = false;
if (AggregatePropertiesUpdated != null)
AggregatePropertiesUpdated(this, EventArgs.Empty);
} }
} }

9
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/PropertyGrid/PropertyGridView.cs

@ -27,13 +27,16 @@ namespace ICSharpCode.WpfDesign.Designer.PropertyGrid
DefaultStyleKeyProperty.OverrideMetadata(typeof(PropertyGridView), new FrameworkPropertyMetadata(typeof(PropertyGridView))); DefaultStyleKeyProperty.OverrideMetadata(typeof(PropertyGridView), new FrameworkPropertyMetadata(typeof(PropertyGridView)));
} }
public PropertyGridView() : this(null)
{
}
public PropertyGridView() public PropertyGridView(PropertyGrid pg)
{ {
PropertyGrid = new PropertyGrid(); PropertyGrid = pg??new PropertyGrid();
DataContext = PropertyGrid; DataContext = PropertyGrid;
} }
private Thumb thumb; private Thumb thumb;
public override void OnApplyTemplate() public override void OnApplyTemplate()
{ {

13
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Services/CreateComponentTool.cs

@ -142,9 +142,20 @@ namespace ICSharpCode.WpfDesign.Designer.Services
return item; return item;
} }
public static bool AddItemWithDefaultSize(DesignItem container, Type createdItem, Size size)
{
CreateComponentTool cct = new CreateComponentTool(createdItem);
return AddItemWithCustomSize(container, cct.CreateItem(container.Context), new Point(0, 0), size);
}
internal static bool AddItemWithDefaultSize(DesignItem container, DesignItem createdItem, Point position) internal static bool AddItemWithDefaultSize(DesignItem container, DesignItem createdItem, Point position)
{ {
var size = ModelTools.GetDefaultSize(createdItem); return AddItemWithCustomSize(container, createdItem, position, ModelTools.GetDefaultSize(createdItem));
}
internal static bool AddItemWithCustomSize(DesignItem container, DesignItem createdItem, Point position, Size size)
{
PlacementOperation operation = PlacementOperation.TryStartInsertNewComponents( PlacementOperation operation = PlacementOperation.TryStartInsertNewComponents(
container, container,
new DesignItem[] { createdItem }, new DesignItem[] { createdItem },

Loading…
Cancel
Save