PresentationElement.ModelElement Property
Gets or sets the model element that is associated with the presentation element.
Namespace: Microsoft.VisualStudio.Modeling.Diagrams
Assembly: Microsoft.VisualStudio.Modeling.Sdk.Diagrams (in Microsoft.VisualStudio.Modeling.Sdk.Diagrams.dll)
Syntax
'Declaration
Public Property ModelElement As ModelElement
'Usage
Dim instance As PresentationElement
Dim value As ModelElement
value = instance.ModelElement
instance.ModelElement = value
public ModelElement ModelElement { get; set; }
public:
property ModelElement^ ModelElement {
ModelElement^ get ();
void set (ModelElement^ value);
}
public function get ModelElement () : ModelElement
public function set ModelElement (value : ModelElement)
Property Value
Type: Microsoft.VisualStudio.Modeling.ModelElement
The model element that is associated with the presentation element.
Remarks
This property navigates or creates a PresentationViewsSubject relationship to a domain model element.
Each presentation element is usually associated with a domain model element, using the PresentationViewsSubject relationship. The correspondence between domain classes and classes derived from PresentationElement is defined by the Domain Element Map which you set in the DSL Definition file.
Examples
If in your DSL Definition, you defined a domain class ExampleElement that is mapped to a shape class ExampleShape, then you can write the following code:
ExampleShape shape = ...;
ExampleElement element = shape.ModelElement as ExampleElement;
To navigate from the element to the shape, use the PresentationViewsSubject relationship directly. Unless you have made major customizations to your DSL, there is never more than one presentation element for each domain model element:
ExampleElement element = ...;
ExampleShape shape = PresentationViewsSubject.GetPresentation(i).FirstOrDefault() as
ExampleShape;
if (shape != null) {...}
.NET Framework Security
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.
See Also
Reference
Microsoft.VisualStudio.Modeling.Diagrams Namespace