We recommend using Visual Studio 2017
This documentation is archived and is not being maintained.

Microsoft.VisualStudio.Modeling.Diagrams Namespace

The types in the Microsoft.VisualStudio.Modeling.Diagrams namespace display your DSL as a diagram. They provide the implementation of the diagrams, shapes, and connectors that you define in the DSL Definition file. To customize the appearance of the DSL using program code, you work with the types defined in this namespace.

Class diagram of base shape and element types

The principal types of interest are:

  • NodeShape – the base class of shapes that you specify in DSL Definition.

  • BinaryLinkShape – the base class of connectors that you specify in DSL Definition. It has a base class LinkShape, which has no other derived classes.

  • Diagram – the base class of the diagram that you specify in DSL Definition.

  • ShapeElement – base class of NodeShape and LinkShape. Diagrams, shapes and connectors are all ShapeElements.

  • PresentationViewsSubject – the relationship between a shape or connector on the diagram and a domain model element.

  • ShapeField – an area within a shape, such as a section in a compartment shape, a row of text, a label, or an icon.

  • Decorator – an item displayed in a ShapeField. A IconDecorator contains an image on the shape, and a TextDecorator displays a label.

  • DiagramItem – a reference to a shape and optionally a field and subfield within the shape. Used to identify the target of a user operation.

  • ShapeGeometry – this class and its derived classes define and draw the outlines of the different major kinds of shapes, such as ellipses, rectangles, compartments, connectors, and icons. Shapes delegate to these classes the determination of whether a mouse point is inside the shape, and painting the basic outlines.

Class diagram of standard diagram types

  ClassDescription
Public classAbsoluteBoundsChangedEventArgsOld and new bounds values when the AbsoluteBounds property of a shape changes. This event originates from the Store.
Public classActionCanceledStateThe MouseAction state that indicates that the MouseAction has been canceled.
Public classActionCompletedStateThe MouseAction state that indicates that the MouseAction has completed.
Public classAmbientFontHelperUsed to help retriving the designer font
Public classAnchoringBehaviorDescribes how the ShapeField should position and size itself as the parent NodeShape moves and resizes.
Public classAnchorPoint
Public classAnchorPointActionThe MouseAction that manually routes LinkShapes by manipulating their LineSegments.
Public classAreaFieldA shape field that defines a color gradient to fill the background of a shape.
Public classAssociatedPropertyInfoClass that provides info about a domain property associated with a ShapeField.
Public classAvoidCornerRuleBounds rule that doesn't allow you to place a port in the rounded corner of a rectangle.
Public classBinaryLinkNodeChangeRuleRule to reroute the link when one of its endpoint nodes is changed.
Public classBinaryLinkShapeRepresents a line or arrow that can connect two shapes on a diagram. A binary link can also form a loop that connects a shape to itself.
Public classBinaryLinkShapeBaseAbstract base class for BinaryLinkShape
Public classBinaryLinkShapeGeometryEncapsulates drawing, folding, and hit testing a BinaryLink on the design surface
Public classBinaryLinkShapeSerializer
Public classBinaryLinkShapeSerializerBaseSerializer BinaryLinkShapeSerializerBase for DomainClass BinaryLinkShape.
Public classBoundsRulesRules that constrain where a shape can be located and how it can be sized.
Public classBrushDescriptorThe BrushStyleSetInfo for a class and an instance of the Brush described by that info (if it's already been created). The BrushDescriptor is what gets cached for later use.
Public classBrushSettingsBrushSettings allows certain properties on a BrushStyleSetInfo to be marked as overridden or immutable. If certain Brush settings are marked as immutable, then they are not allowed to be changed again.
Public classBrushStyleSetInfoContains the StyleSet information about a brush. These are all of the settings that be placed on a Brush like Color, BrushType, HatchType, Image, etc. The information is used to create a unique hash code for this class which is used in the HybridDictionary for lookup of a particular cached resource.
Public classChevronButtonFieldA ShapeField that represents double arrows expand/collapse button
Public classCircleShapeGeometrySummary description for CircleShapeGeometry.
Public classClickedStateThe MouseAction state that indicates that the user has pressed down and lifted up on the mouse button without moving far enough to invoke a drag.
Public classCommandIdCollection
Public classCommentShapeBase comment class. CommentShape defines an editable comment shape.
Public classCommentShapeAddRule
Public classCommentShapeSerializerSerializer CommentShapeSerializer for DomainClass CommentShape.
Public classCommentShapeTypeDescriptorSpecialized type descriptor for the CommentShape class.
Public classCompartmentA compartment within a compartment shape.
Public classCompartmentDescriptionBase class for all Compartment descriptions.
Public classCompartmentMappingBase class for compartment mappings. Compartment mappings provide the glue between the content of compartments and the underlying object model
Public classCompartmentRuleHelperStatic class with shared code for handling Compartment list item add, remove, and change rules.
Public classCompartmentSerializerSerializer CompartmentSerializer for DomainClass Compartment.
Public classCompartmentShapeBase class of compartment shapes that you define in DSL Definition.
Public classCompartmentShapeAreaField
Public classCompartmentShapeSerializerSerializer CompartmentShapeSerializer for DomainClass CompartmentShape.
Public classCompartmentTypeDescriptorSpecialized type descriptor for the Compartment class.
Public classConnectActionMouse action that allows user to drag from one SoftwareComponentType shape or Port shape to another in order to create a connection.
Public classConnectionPointConnectionPoint wraps VGConnection objects from the graph object.
Public classConnectionTypeDescribes generic connection behavior between two ShapeElements
Public classConnectorDecoratorClass to encapsulate the way ShapeFields and child Shapes are used to represent Notation Decorators when they are placed on a Connector
Public classCoreDesignSurfaceCopyClosureCopy closure visitor filter
Public classCoreDesignSurfaceCopyClosureBaseBase class for copy closure visitor filter
Public classCoreDesignSurfaceDeleteClosureRemove closure visitor filter
Public classCoreDesignSurfaceDeleteClosureBaseBase class for remove closure visitor filter
Public classCoreDesignSurfaceDomainModeloverride reflection replacement apis
Public classCoreDesignSurfaceDomainModelSerializerProvides an implementation of the IDomainModelSerializer interface that can be used to serialize / deserialize the CoreDesignSurface domain model.
Public classCoreDesignSurfaceDomainModelSerializerBaseBase class that implements IDomainModelSerializer
Public classCoreDesignSurfaceSerializationBehaviorA DomainXmlSerializationBehavior implementation for defined behavior CoreDesignSurfaceSerializationBehavior. This is the concrete type of the double-derived implementation.
Public classCoreDesignSurfaceSerializationBehaviorBaseA DomainXmlSerializationBehavior implementation for defined behavior CoreDesignSurfaceSerializationBehavior. This is the abstract base of the double-derived implementation.
Public classCoreDesignSurfaceSerializationBehaviorMonikerResolverMoniker resolver for serialization behavior CoreDesignSurfaceSerializationBehavior.
Public classCoreDesignSurfaceSerializationBehaviorSerializationMessagesUtility class to provide serialization messages
Public classCoreDesignSurfaceSerializationHelperHelper class for serializing and deserializing CoreDesignSurface models.
Public classCoreDesignSurfaceSerializationHelperBaseHelper class for serializing and deserializing CoreDesignSurface models.
Public classCreateActionCreateAction responds to select items from toolbox to create them on the diagram.
Public classDashStyleTypeConverterType converter for displaying DashStyle values in the property grid. Filters out the "Custom" value since it doesn't make sense for this value to appear in the target designer.
Public classDecoratorWhen overridden in a derived class, represents a decorator element in the diagram.
Public classDecoratorDoubleEmptyArrowThis is an arrow decorator with only two lines
Public classDecoratorEmptyArrowThis is an arrow decorator with only two lines
Public classDecoratorEmptyDiamondThis is an diamond decorator filled with the diagram's background color.
Public classDecoratorFilledArrowThis is an enclosed arrow decorator filled with a color based on BrushId.
Public classDecoratorFilledDiamondThis is an diamond decorator filled with a color based on BrushId.
Public classDecoratorHollowArrowThis is an enclosed arrow decorator filled with the diagram's background color.
Public classDecoratorHostShapeDomainClass DecoratorHostShape Description for Microsoft.VisualStudio.Modeling.Diagrams.DecoratorHostShape
Public classDecoratorHostShapeBaseDouble-derived base class for DomainClass DecoratorHostShape
Public classDecoratorHostShapeSerializerSerializer DecoratorHostShapeSerializer for DomainClass DecoratorHostShape.
Public classDecoratorHostShapeSerializerBaseSerializer DecoratorHostShapeSerializerBase for DomainClass DecoratorHostShape.
Public classDefaultBoundsRulesBasic rules that constrain the child based on Snap-To-Grid and anchoring.
Public classDefaultGroupBoundsRulesRules which constrain the position of a group of shapes when the group is repositioned.
Public classDesignSurfaceAccessibleObjectThe accessible object for the DiagramClientView
Public classDesignSurfaceElementOperationsExtends the IMS ElementOperations class by adding support for GhostShapeCollections.
Public classDesignSurfaceMergeContextProvides merge (i.e., drop/paste) information which is initially set by the merge process when the ElementGroupPrototype's objects are reconstituted into the target store. The merge information is subsequently used throughout the merge process and the fixup phase.
Public classDiagramRepresents a diagram.
Public classDiagramAssociationEventArgsEvent arguments for diagram - diagram view association events
Public classDiagramBrushesEach property of the DiagramBrushes class is a StyleSetResourceId object that uniquely identifies a brush resource used by the DiagramClientView paint methods.
Public classDiagramClientViewThis is an IMS-based design surface which is capable of rendering any IMS Diagram.
Public classDiagramDeleteRuleA rule which executes when a Diagram has been removed from the Store.
Public classDiagramDragEventArgsProvides data for the DragDrop, DragEnter, or DragOver event.
Public classDiagramEventArgsThe base event args class for events originating from the design surface control.
Public classDiagramFixupConstants
Public classDiagramFontsEach property of the DiagramFonts class is a StyleSetResourceId object that uniquely identifies a font resource used by the DiagramClientView paint methods.
Public classDiagramHitTestInfo
Public classDiagramItemRepresents a ShapeElement, a ShapeField, or a ShapeSubField. This is intended to be used for hit-testing, selection, focus, and accessibility.
Public classDiagramItemCollectionA collection of DiagramItem instances. A DiagramItem represents a ShapeElement, ShapeField, or ShapeSubField instance on the diagram and is used for such things as hit-testing and selection.
Public classDiagramItemEventArgsDiagramEventArgs that refer to a particular DiagramItem of interest.
Public classDiagramKeyEventArgsProvides data for the KeyDown or KeyUp event.
Public classDiagramKeyPressEventArgsProvides data for the KeyPress event.
Public classDiagramMouseEventArgsProvides data for the MouseUp, MouseDown, and MouseMove events.
Public classDiagramPaintEventArgsPaint arguments
Public classDiagramPensEach property of the DiagramPens class is a StyleSetResourceId object that uniquely identifies a pen resource used by the DiagramClientView paint methods.
Public classDiagramPointEventArgsContains event data related to a mouse position.
Public classDiagramSelectionRules
Public classDiagramSerializerSerializer DiagramSerializer for DomainClass Diagram.
Public classDiagramSpy
Public classDiagramTypeDescriptorSpecialized type descriptor for the Diagram class.
Public classDiagramViewThis is the view control that creates design surface and scrollbars.
Public classDiagramViewAccessibleObject
Public classDiagramWatermarkDiagram watermark control which appears when diagram is empty.
Public classDiagramWinEventsAccessible WinEvent support for Diagrams.
Public classDragCanceledStateThe MouseAction state that indicates that dragging has been canceled. This is not to be confused with the ActionCanceledState. This DragCanceledState indicates that only the drag has been canceled; not the entire MouseAction. The MouseAction can remain active even after canceling the drag. This allows for multiple drag operations within a single MouseAction.
Public classDragCompletedStateThe MouseAction state that indicates that dragging has completed. This is not to be confused with the ActionCompletedState. This DragCompletedState indicates that only the drag has been completed; not the entire MouseAction. The MouseAction can remain active even after completing the drag. This allows for multiple drag operations within a single MouseAction.
Public classDragDropPendingActionThe MouseAction that detects if Ole drag/drop should start. Once started, this MouseAction completes and then gives control to Ole drag/drop.
Public classDraggingStateThe MouseAction state that indicates that the user is actively dragging with the mouse.
Public classDragPendingStateThe MouseAction state that indicates that the user has pressed down the mouse button but not yet lifted up on the mouse button or not yet moved the mouse far enough to initiate dragging.
Public classDragSourceContextProvides drag source information which is initially set when the ElementGroupPrototype is created at the source. It is used for drag feedback and the merge (i.e., drop/paste) process.
Public classDropTargetContextProvides methods to add and retrieve drop target context information to and from a particular transaction context.
Public classDropTargetFeedbackProvides the means of drawing drag feedback using ghost shapes.
Public classEdgePoint
Public classEdgePointCollectionHandle a list of edgepoints exactly like an ArrayList
Public classEdgePointCollectionConverterTypeConverter for EdgePointCollection instances, so it can be serialized in human read-able form. The converted EdgePointCollection will have syntax "[(x : y : flag); (x : y : flag); ...]", where the flag can be omitted for Normal. For backward compatibility, the converter also supports converting from a string produced by binary serializer, but it will never convert an EdgePointCollection to binary form.
Public classEdgePointConverterTypeConverter for EdgePoint instances, so it can be serialized in human read-able form. The converted EdgePoint will have syntax "(x : y : flag)", where the flag can be omitted for Normal. For backward compatibility, the converter also supports converting from a string produced by binary serializer, but it will never convert an EdgePoint to binary form.
Public classElementListCompartmentDomainClass ElementListCompartment Description for Microsoft.VisualStudio.Modeling.Diagrams.ElementListCompartment
Public classElementListCompartmentDescriptionDescription for ListCompartments applied to CompartmentShapes.
Public classElementListCompartmentMappingA mapping for ListCompartments that knows about the relationship that's being modeled in the compartment, and the property that's being displayed in the list.
Public classElementListCompartmentSerializerSerializer ElementListCompartmentSerializer for DomainClass ElementListCompartment.
Public classEllipseShapeGeometrySummary description for EllipseShapeGeometry.
Public classEmptySelectionHandles empty selections.
Public classExpandCollapseDecoratorDecorator that manages an expand/collapse button on a NodeShape
Public classFieldAccessibleObjectSummary description for FieldAccessibleObject.
Public classFontDescriptorFontDescriptor class holds the FontStyleSetInfo for a class and an instance of the Font described by that info (if it's already been created). The FontDescriptor is what gets cached for later use.
Public classFontSettingsFontSettings allows certain properties on a FontStyleSetInfo to be marked as overridden or immutable. If certain Font settings are marked as immutable, then they are not allowed to be changed again.
Public classFontStyleSetInfoContains the StyleSet information about a font. These are all of the settings that be placed on a Font like Name, Size, FontStyle, etc. The information is used to create a unique hash code for this class which is used in the HybridDictionary for lookup of a particular cached resource.
Public classGeneralDiagramSelectionRules
Public classGeneralSelectionHandles general selections not covered by other selection states.
Public classGenericCoreConnectActionGeneric connect action for Core design surface that connects two distinct ShapeElements
Public classGenericCoreConnectionTypeConnection Type that connects any two distinct ShapeElements
Public classGenericLinkShapeDomainClass GenericLinkShape Description for Microsoft.VisualStudio.Modeling.Diagrams.GenericLinkShape
Public classGenericLinkShapeSerializerSerializer GenericLinkShapeSerializer for DomainClass GenericLinkShape.
Public classGeometryHelpers
Public classGhostShapeDescribes a ShapeElement
Public classGhostShapeCollectionA collection of GhostShapes.
Public classGrabHandle
Public classGroupBoundsRulesRules that constrain the overall bounds of a group of shapes as a whole.
Public classGroupSnapToGridRuleA GroupBoundsRule which constrains the overall bounds of a group of child shapes such that the primary shape's location snaps to the grid if the grid is enabled.
Public classHighlightedShapesCollectionCollection of shapes and DiagramItems that are highlighted on the design surface.
Public classHoveringStateThe MouseAction state that indicates that the MouseAction is active and waiting for events.
Public classHslColorHueSatLumColor represents colors by their Hue-Saturation-Luminosity value rather than the traditional RGB value. This class provides conversion methods to go back and forth between the HSL and RGB color spaces.
Public classHslColorConverterProvides a type converter to convert HslColor objects to and from other representations.
Public classImageFieldLightweight object that represents a part of a shape that can display image decorators or backgrounds.
Public classImageHelper
Public classImageShapeBase class for shapes that display an image.
Public classImageShapeGeometryEncapsulates drawing, folding, and hit testing a shape based on an external image on the design surface
Public classImageShapeSerializerSerializer ImageShapeSerializer for DomainClass ImageShape.
Public classInactiveStateThe MouseAction state that indicates that the MouseAction is not in use. When a MouseAction is first created, it is in an inactive state. The MouseAction must be activated before it can be used. After a MouseAction completes or has been canceled, it is once again inactivated.
Public classInPlaceTextEditor
Public classInvokeEditorActionInvokes the editor on click.
Public classItemDrawInfoInformation for a single list item in a list field.
Public classKeepGroupWithinDiagramRuleA GroupBoundsRule which will constrain the overall bounds of a group of child shapes so that it remains inside the target shape's diagram
Public classKeepGroupWithinParentRuleA GroupBoundsRule which will constrain the overall bounds of a group of child shapes so that it remains below and to the right of the top and left boundaries of the parent shape. The right and bottom side of the parent shape will not constrain the child shapes.
Public classKeepInParentRuleA Bounds rule that keeps the shape within the boundary of the diagram.
Public classLabelShapeRepresents a label shape in the Domain-Specific Language Designer.
Public classLabelShapeSerializerSerializer LabelShapeSerializer for DomainClass LabelShape.
Public classLabelShapeTextPropertyDescriptorProperty descriptor for the LabelShape's Text property.
Public classLabelShapeTypeDescriptorSpecialized type descriptor for the LabelShape class.
Public classLabelTextFieldText field displayed on a label shape.
Public classLassoActionThe MouseAction that allows selection using the rectangle defined by clicking and dragging.
Public classLeaveShapeEventArgsContains event data related to the mouse cursor leaving a shape.
Public classLineLabelAutoPlacementChangeRule
Public classLineLabelShapeDomainClass LineLabelShape Description for Microsoft.VisualStudio.Modeling.Diagrams.LineLabelShape
Public classLineLabelShapeSerializerSerializer LineLabelShapeSerializer for DomainClass LineLabelShape.
Public classLineRoutingRuleCustom rule to tell the design surface when the lines on the diagram need to be rerouted.
Public classLineSegmentThis class represents a straight piece of line between two end points.
Public classLineSegmentAccessibleObjectSummary description for FieldAccessibleObject.
Public classLinkConnectsToNodeDomainRelationship LinkConnectsToNode Description for Microsoft.VisualStudio.Modeling.Diagrams.LinkConnectsToNode
Public classLinkConnectsToNodeSerializerSerializer LinkConnectsToNodeSerializer for DomainClass LinkConnectsToNode.
Public classLinkDecoratorBase LinkDecorator class which allows other derived classes to implement actual different geometries for decorators. This class also provides static accessors for the different type of decorators that exist as part of the core design surface.
Public classLinkShapeRepresents a connector line on a diagram. See also BinaryLinkShape.
Public classLinkShapeChangedRuleRule to reroute the the linke shape when one of its endpoint nodes is changed
Public classLinkShapeGeometryEncapsulates drawing, folding, and hit testing a link geometry on the design surface
Public classLinkShapeSerializerSerializer LinkShapeSerializer for DomainClass LinkShape.
Public classListCompartmentDomainClass ListCompartment Description for Microsoft.VisualStudio.Modeling.Diagrams.ListCompartment
Public classListCompartmentDescriptionDescription for ListCompartments applied to CompartmentShapes.
Public classListCompartmentSerializerSerializer ListCompartmentSerializer for DomainClass ListCompartment.
Public classListFieldA shape field capable of efficiently displaying a list of items.
Public classListItemSubFieldThe sub field which represents an item in a ListField.
Public classLostFocusEventArgsEvent arguments for the LostFocus event, which originates as a WM_KILLFOCUS message from a System.Windows.Forms.Control. In addition to the DiagramEventArgs this holds the handles of the window getting and the window losing focus.
Public classManualRouteActionThe MouseAction that manually routes LinkShapes by manipulating their LineSegments.
Public classMouseActionRepresents a mouse action.
Public classMouseActionEventArgsThe event args class for events originating from the MouseAction class.
Public classMouseActionStateThe base class for all MouseAction states.
Public classMoveableDecoratorHostShapeDomainClass MoveableDecoratorHostShape Description for Microsoft.VisualStudio.Modeling.Diagrams.MoveableDecoratorHostShape
Public classMoveableDecoratorHostShapeBaseDouble-derived base class for DomainClass MoveableDecoratorHostShape
Public classMoveableDecoratorHostShapeSerializerSerializer MoveableDecoratorHostShapeSerializer for DomainClass MoveableDecoratorHostShape.
Public classMoveableDecoratorHostShapeSerializerBaseSerializer MoveableDecoratorHostShapeSerializerBase for DomainClass MoveableDecoratorHostShape.
Public classNestedShapesParentRoleChangeRule
Public classNoBoundsRulesNoBoundsRules can be applied to ensure no restrictions are placed on the shape's bounds.
Public classNodeShapeRepresents a shape on a diagram, such as a rectangle, icon or other shape with an area (not a connector).
Public classNodeShape.ExpandCollapseNodeShapeWhenAddedToDiagramRuleRule to call Collapse() on a new NodeShape if its IsExpanded flag is false when it is parented (directly or indirectly) by the diagram. This rule calls Collapse() for the node shape that is added to the diagram and all other node shapes that are descendents of that node shape, because then got parented by the diagram too.
Public classNodeShapeGeometryBase geometry for NodeShapes.
Public classNodeShapeSerializerSerializer NodeShapeSerializer for DomainClass NodeShape.
Public classNodeShapeTypeDescriptor Obsolete. Specialized type descriptor for the Shape class.
Public classPaintFeedbackArgs
Public classPanZoomActionThe MouseAction that performs zoom.
Public classParentRoleChangeRule
Public classParentShapeContainsNestedChildShapesThe parent-child relationship for child shapes that are clipped by the bounds of the parent shape. The child is neither visible nor hit-testable outside of the parent's bounding box.
Public classParentShapeContainsNestedChildShapesAddRule
Public classParentShapeContainsNestedChildShapesDeleteRule
Public classParentShapeContainsNestedChildShapesSerializerSerializer ParentShapeContainsNestedChildShapesSerializer for DomainClass ParentShapeContainsNestedChildShapes.
Public classParentShapeHasRelativeChildShapesThe parent-child relationship for child shapes that are not clipped by the bounds of the parent shape. The child is visible and hit-testable outside of the parent's bounding box.
Public classParentShapeHasRelativeChildShapesAddRule
Public classParentShapeHasRelativeChildShapesDeleteRule
Public classParentShapeHasRelativeChildShapesSerializerSerializer ParentShapeHasRelativeChildShapesSerializer for DomainClass ParentShapeHasRelativeChildShapes.
Public classPenDescriptorPenDescriptor class holds the PenStyleSetInfo for a class and an instance of the Pen described by that info (if it's already been created). The PenDescriptor is what gets cached for later use.
Public classPenSettingsPenSettings allows certain properties on a PenStyleSetInfo to be marked as overridden or immutable. If certain Pen settings are marked as immutable, then they are not allowed to be changed again.
Public classPenStyleSetInfoContains the StyleSet information about a pen. These are all of the settings that be placed on a Pen like Color, Alignment, LineCap, PenType, etc. The information is used to create a unique hash code for this class which is used in the HybridDictionary for lookup of a particular cached resourse.
Public classPlusMinusButtonFieldA ShapeField that represents plus/minus button
Public classPointDConverterProvides a type converter to convert PointD objects to and from other representations.
Public classPortDomainClass Port Description for Microsoft.VisualStudio.Modeling.Diagrams.Port
Public classPortGroupBoundsRulesRules that constrain the overall bounds of a group of shapes that contain ports as a whole.
Public classPortMovementRuleBounds rules for keeping ports on the perimeter of their parent shapes.
Public classPortPlacementHelper
Public classPortSerializerSerializer PortSerializer for DomainClass Port.
Public classPortShapeBase class for port shapes that you can specify in the DSL Definition.
Public classPortShapeSerializerSerializer PortShapeSerializer for DomainClass PortShape.
Public classPresentationElementAn element that appears in a user interface and represents a visible presentation of a domain model element.
Public classPresentationElementSerializerSerializer PresentationElementSerializer for DomainClass PresentationElement.
Public classPresentationElementTypeDescriptionProvider Obsolete. PresentationElementTypeDescriptionProvider provides the wrapper class which encapsulates the ModelElement object. This class is invoked when property grid wants to render the ModelElement object.
Public classPresentationElementTypeDescriptorClass for providing ModelElement TypeDesriptor for the propety grid support!
Public classPresentationViewsSubjectThe relationship between domain model elements and their presentation in a user interface, typically a diagram.
Public classPresentationViewsSubjectSerializerSerializer PresentationViewsSubjectSerializer for DomainClass PresentationViewsSubject.
Public classPropertyChangedEventArgsA general property changed EventArgs used to notify shapes of both IMS property changes as well as CLR property changes.
Public classRectangleDConverterProvides a type converter to convert RectangleD objects to and from other representations.
Public classRectangleShapeGeometryEncapsulates drawing, folding, and hit testing a Rectangle on the design surface
Public classResizeActionThe MouseAction that resizes shapes.
Public classRoundedRectangleShapeGeometrySummary description for RoundedRectangleShapeGeometry.
Public classSelectActionThe base mouse action that selects shapes under the mouse.
Public classSelectedShapesCollection
Public classSelectionContextAbstract class implementing a method to get the current selection state for a given selection.
Public classSelectionStateAbstract class representing any selection state. Provides the interface for querying infomation about the specified selection, including: the ActualSelection, CoercedSelection, and weather or not a specifc command is to be filtered out for the selection.
Public classSelectionStateCollection
Public classShapeAccessibleObjectProvides information that accessibility applications use to adjust an application's UI for users with impairments.
Public classShapeAutoInvalidatorAn invisible shape field, whose purpose is to force the parent shape to repaint itself when an associated value (specified in the constructor) changes.
Public classShapeDecoratorClass to encapsulate the way ShapeFields and child shapes are used to represent Notation Decorators when they are placed on a Shape
Public classShapeElementRepresents a diagram or a shape or connector in a diagram. ShapeElements encapsulate the visual presentation of model elements.
Public classShapeElementAddRuleA rule which executes when a Diagram has been removed from the Store.
Public classShapeElementSerializerSerializer ShapeElementSerializer for DomainClass ShapeElement.
Public classShapeEnumerator
Public classShapeFieldLightweight object that represents a part of a shape that can display items such as the background image, text decorators, and icon decorators.
Public classShapeGeometriesStatic class to expose instances of public ShapeGeometry objects
Public classShapeGeometryRepresents the geometry for a shape or connector.
Public classShapeIdCollection
Public classShapeModelingCollection
Public classShapeSubFieldA sub component of a ShapeField that is optionally selectable, focusable, hit-testable, in-place-editable, and IAccessible. Examples of a ShapeSubField are list items in a list field, grid cells and grid lines in a grid field, and radio buttons in a radio button group. ShapeSubFields are only created as needed. For example, a grid containing 10,000 cells only needs to create a subfield for a cell when the subfield is selected, focused, hit-tested, edited, or accessed via IAccessible.
Public classSnakingInfo
Public classSnapToGridRuleSnap-to-grid rules that constrain the ShapeElement's position and/or size.
Public classSnapToPerimeterFollowingRotationRuleBounds rule for following the perimeter of a parent shape.
Public classStyleSetA StyleSet is a collection of graphics objects that can be used by an application to specify a set of pens, brushes, and fonts to be used for all of the drawing operations. Within the painting code, you can call StyleSet.GetPen to retrieve a specific pen defined by the system. That pen will be set to the correct color and style defined with the application. Use that pen immediately as it is unique. If you need to hold onto a pen use GetPenCopy. StyleSets can live at multiple levels in the system. There's an ApplicationStyleSet which are the app defined defaults style scheme. There are also ClassStyleSets which exist at the class type level to specify styles for all instances of that class of shape. There can also exist instance StyleSets which contains resource information for each instance of a shape. This should be used when different instances of the same class of shapes can have different appearance. When actually trying to retrieve an object, like a Pen, the StyleSet code goes up the inheritance chain from instance to class to application StyleSets until if finds that first one that contains that resource that you're looking for (as defined by the ResourceId that you're asking for).
Public classStyleSetResourceIdClass for uniquely defining a StyleSet resource.
Public classSubfieldAccessibleObjectSummary description for SubfieldAccessibleObject.
Public classSwimLaneFixUpContextProvides context for the positioning of a newly inserted swimlane
Public classSwimlaneHelper
Public classSwimlaneShapeRepresents a swimlane shape in a diagram. Base class for swmlane shapes that you specify in DSL Definition.
Public classSwimlaneShapeGeometryEncapsulates drawing, folding, and hit testing a Swimlane on the design surface
Public classSwimlaneShapeSerializerSerializer SwimlaneShapeSerializer for DomainClass SwimlaneShape.
Public classTextFieldLightweight object that represents a part of a shape that can display text labels or areas.
Public classToggleButtonEventArgsEvent arguments for ToggleButton class
Public classToggleButtonFieldA ShapeField which can display an image corresponding the selected state
Public classToolboxActionToolboxAction responds to double-click events on toolbox items.
Public classUnplacedShapesContextContext information associated with drag-and-drop that keeps track of shapes that have not yet been positioned and will require later placement. In any given transaction, we can have unplaced shapes for multiple diagrams, when multiple diagrams need to be fixed up.

  StructureDescription
Public structureAreaFieldCornerRadiusStructure that represents four floating-point values indicating the corner radii of the AreaField.
Public structurePointD
Public structureRectangleDStores a set of four doubles that represent the location and size of a rectangle.
Public structureSizeD

  InterfaceDescription
Public interfaceIAmbientFontProviderThe principal worker interface for the SAmbientFontProvider service
Public interfaceIBinaryLinkGeometryDataDefines the interface of the binary link geometry's container. A binary link is characterized by its edge points.
Public interfaceIContextMenuHostContext menu host contract
Public interfaceIGeometryHostDefines the interface of the geometry's container.
Public interfaceILineLabelCalled by the LinkShape when EdgePoints change, to update position of the label
Public interfaceIListFieldContainerDefines methods for the parent shape of the ListField.
Public interfaceINodeGeometryData
Public interfaceIShapeIteratorAn interface for a shape iterator, which will be used to iterate through a shape and all its child shapes.

  DelegateDescription
Public delegateContextMenuRequestedEventHandler
Public delegateDiagramItemEventHandlerDelegate for handling diagram item events.
Public delegateDiagramKeyEventHandlerDelegate for handling keyboard events.
Public delegateDiagramKeyPressEventHandlerDelegate for handling key press events.
Public delegateDiagramMouseEventHandlerDelegate for handling mouse events.
Public delegateDiagramPointEventHandlerDelegate for handling events that require point coordinates, such as a Click event.
Public delegateDisplayImageGetterDelegate to get the image to show for a compartment list item
Public delegateDisplayStringGetterDelegate to get the string to display on the compartment list item for the given model element.
Public delegateDomainPresentationNavigatorDelegate for a method that navigates from a ModelElement to a set of PresentationElements that represent it on a set of Diagrams
Public delegateEditValueEndedEventHandlerHandles processing when editing has ended, usually by committing or discarding the changes.
Public delegateElementListGetterReturns a list given a model element. Used for DomainPath traversal methods.
Public delegateMouseAction.MouseActionActivatedEventHandlerHandles the MouseActionActivated event of a MouseAction.
Public delegateMouseAction.MouseActionDeactivatedEventHandlerHandles the MouseActionDeactivated event of a MouseAction.
Public delegatePresentationDomainNavigatorNavigates from a PresentationElement to a ModelElement.
Public delegatePropertyElementGetterGets the element on which the property being displayed for the given element is hosted.
Public delegateScrollPositionChangedEventHandler
Public delegateScrollRangeChangedEventHandler
Public delegateSelectionChangedByDeletionEventHandler
Public delegateShapeSelectionChangedEventHandler
Public delegateShapeSelectionChangingEventHandler
Public delegateToggleButtonEventHandler
Public delegateZoomChangedEventHandler

  EnumerationDescription
Public enumerationActionRequestThe types of actions that can be taken at the end of a MouseAction event.
Public enumerationAnchoringBehavior.EdgeRefers to a side of a bounding rectangle in an AnchoringBehavior.
Public enumerationBinaryLinkShapeBase.AnchorEndState
Public enumerationBoundsFixupStateSpecifies the state when OnBoundsFixup is called.
Public enumerationBrushSettingsFlagsFlags to specify which Brush settings have been overridden or made immutable.
Public enumerationConnectActionCursor
Public enumerationConnectorArrowStyleDomainEnumeration: ConnectorArrowStyle Description for Microsoft.VisualStudio.Modeling.Diagrams.ConnectorArrowStyle
Public enumerationConnectorDecoratorPositionDomainEnumeration: ConnectorDecoratorPosition Description for Microsoft.VisualStudio.Modeling.Diagrams.ConnectorDecoratorPosition
Public enumerationDiagram.CreateBitmapPreferencePreferences for Diagram.CreateBitmap()
Public enumerationDiagramClientView.EnsureVisiblePreferencesPreferences for the EnsureVisible method.
Public enumerationFontSettingsFlagsFlags to specify which Font settings have been overridden or made immutable.
Public enumerationGrabHandle.ShapeSideThe grab handle location
Protected enumerationGrabHandle.VerticalSection
Public enumerationInvisibleCollapseFlagsThe flags to determine the how the shapeField collapses when it is set to be invisible
Public enumerationLabelAlignmentEnumeration for aligning a label to its line; either to the left or right of the line.
Public enumerationLabelPlacedFlagEnumeration for whether a label is auto placed or manually moved/sized.
Public enumerationLabelPlacementEnumeration for where along line to position its label.
Public enumerationMouseActionEventTypes of events that can be raised for a MouseAction.
Public enumerationNodeShape.NodeSidesIndicates one or more sides of a node shape.
Public enumerationPenSettingsFlagsFlags to specify which Pen settings have been overridden or made immutable.
Public enumerationPointRelativeToIndicates the point of reference from which the coordinates are relative.
Public enumerationPortPlacementPort shape can be on one of the four sides of parent shape
Public enumerationResizeDirection
Public enumerationRoutingStyleDomainEnumeration: RoutingStyle Description for Microsoft.VisualStudio.Modeling.Diagrams.RoutingStyle
Public enumerationShapeDecoratorPositionDomainEnumeration: ShapeDecoratorPosition Description for Microsoft.VisualStudio.Modeling.Diagrams.ShapeDecoratorPosition
Public enumerationShapeElement.RelationshipTypeDefines the type of parent-child relationships allowed by the
Public enumerationSwimlaneAlignmentEnum that specifies how swimlanes can be aligned on the diagram: either horizontally or vertically.
Public enumerationSwimlaneDecoratorPositionSwimlane decorators are only allows in 3 positions.
Show: