    

 ## On this page

  

 

 # Class DesignFrame

 Last update: 16.07.2025 

Namespace: [VM.Managed](VM.Managed.md)  
Assembly: VMObjBase.dll

This class is to represent the design frame.

```csharp
public class DesignFrame : DesignSubEntity, IObservableObject, IDisposableObject, ILinkable, ILinkContainerEvent, IVerifiable, IHistoryObjectSerializable, IAttributeContainer, INamed, INavigatorItem, IDesignSubEntity, ISubEntity, IEntityBase, IObjectBase, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, IHasKeyObject, IHasName, IEnabled, IHasComment, IInterface, ITemplateObject, IEntityRelation, IDraw, IDrawIcon, ITransform, IPoint, IOrientation, IDirectionContainer, IDesignParameter, IReferencable, ITransformable, IVisible, IDesignFrame

```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← ObservableObject ← LinkableBase ← ObjectBase ← Object&lt;ObjectEventCore&gt; ← [SubEntity](VM.Managed.SubEntity.md) ← [DesignSubEntity](VM.Managed.DesignSubEntity.md) ← [DesignFrame](VM.Managed.DesignFrame.md)

#### Implements

IObservableObject, IDisposableObject, ILinkable, ILinkContainerEvent, IVerifiable, IHistoryObjectSerializable, IAttributeContainer, INamed, INavigatorItem, IDesignSubEntity, ISubEntity, IEntityBase, IObjectBase, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, IHasKeyObject, IHasName, IEnabled, IHasComment, [IInterface](VM.Managed.IInterface.md), ITemplateObject, IEntityRelation, IDraw, IDrawIcon, ITransform, IPoint, IOrientation, IDirectionContainer, IDesignParameter, IReferencable, ITransformable, IVisible, IDesignFrame

#### Inherited Members

[DesignSubEntity.m\_bSkipToUpdateSymmetric](VM.Managed.DesignSubEntity.md#VM_Managed_DesignSubEntity_m_bSkipToUpdateSymmetric), [DesignSubEntity.g\_dicUpdatedDesignSubEntity](VM.Managed.DesignSubEntity.md#VM_Managed_DesignSubEntity_g_dicUpdatedDesignSubEntity), [DesignSubEntity.FixUp(ObjectBase)](VM.Managed.DesignSubEntity.md#VM_Managed_DesignSubEntity_FixUp_VM_Managed_ObjectBase_), [DesignSubEntity.CheckCircularReference()](VM.Managed.DesignSubEntity.md#VM_Managed_DesignSubEntity_CheckCircularReference), [DesignSubEntity.BindInterfaceImpl(TMatrix, TMatrix, IInterface)](VM.Managed.DesignSubEntity.md#VM_Managed_DesignSubEntity_BindInterfaceImpl_VM_Managed_TMatrix_VM_Managed_TMatrix_VM_Managed_IInterface_), [DesignSubEntity.IsInterface](VM.Managed.DesignSubEntity.md#VM_Managed_DesignSubEntity_IsInterface), [SubEntity.Initialize(Unit.ConvertFactor)](VM.Managed.SubEntity.md#VM_Managed_SubEntity_Initialize_VM_Unit_ConvertFactor_), [SubEntity.GetModelNavigatorInformationImpl(XmlDocument, XmlElement, bool)](VM.Managed.SubEntity.md#VM_Managed_SubEntity_GetModelNavigatorInformationImpl_System_Xml_XmlDocument_System_Xml_XmlElement_System_Boolean_), [SubEntity.FixUp(ObjectBase)](VM.Managed.SubEntity.md#VM_Managed_SubEntity_FixUp_VM_Managed_ObjectBase_), [SubEntity.WriteTemplateImpl(XmlWriter)](VM.Managed.SubEntity.md#VM_Managed_SubEntity_WriteTemplateImpl_System_Xml_XmlWriter_), [SubEntity.ReadTemplateImpl(XmlReader)](VM.Managed.SubEntity.md#VM_Managed_SubEntity_ReadTemplateImpl_System_Xml_XmlReader_), [SubEntity.Name](VM.Managed.SubEntity.md#VM_Managed_SubEntity_Name), [SubEntity.FullName](VM.Managed.SubEntity.md#VM_Managed_SubEntity_FullName), [SubEntity.NonSymmetricName](VM.Managed.SubEntity.md#VM_Managed_SubEntity_NonSymmetricName), [SubEntity.DisplayName](VM.Managed.SubEntity.md#VM_Managed_SubEntity_DisplayName), [SubEntity.IsEnabled](VM.Managed.SubEntity.md#VM_Managed_SubEntity_IsEnabled), [SubEntity.Comment](VM.Managed.SubEntity.md#VM_Managed_SubEntity_Comment), Object&lt;ObjectEventCore&gt;.GetKey(), Object&lt;ObjectEventCore&gt;.Initialize(Unit.ConvertFactor), Object&lt;ObjectEventCore&gt;.SetIconColor(Canvas), Object&lt;ObjectEventCore&gt;.OnDeserialization(object), Object&lt;ObjectEventCore&gt;.CustomGetObjectData(SerializationInfo, StreamingContext), Object&lt;ObjectEventCore&gt;.RollbackEvent(), Object&lt;ObjectEventCore&gt;.OnDeserializedCore(object), Object&lt;ObjectEventCore&gt;.Key, Object&lt;ObjectEventCore&gt;.UntypedEventCore, Object&lt;ObjectEventCore&gt;.EventCore, Object&lt;ObjectEventCore&gt;.Attributes, ObjectBase.ReplaceEventCore(ObjectEventCore), ObjectBase.SetModifiedCore(ModifiedResult.ModifiedType), ObjectBase.AddPostDeserialize(StreamingContext), ObjectBase.LinkAddedToDocumentCore(IOwned, bool), ObjectBase.SetModified(ModifiedResult.ModifiedType), ObjectBase.SetModified(), ObjectBase.SetModified(ModifiedResult.ModifiedType, IDocument), ObjectBase.DestroyObject(object, LinkEventArgs), ObjectBase.DestroyObject(DestroyEventArgs), ObjectBase.DestroyObject(), ObjectBase.Initialize(Unit.ConvertFactor), ObjectBase.FixUp(ObjectBase), ObjectBase.DoWorkAfterUpdateContents(), ObjectBase.SetOldNameWithNewEntity(ObjectBase, ObjectBase), ObjectBase.SetIconColor(Canvas), ObjectBase.RemoveFromCreatedList(), ObjectBase.PostAddToDocument(), ObjectBase.PostRemoveFromDocument(Document), ObjectBase.GetArgumentList(LinkedList&lt;ObjectBase&gt;), ObjectBase.ResetInvalidEntity(), ObjectBase.OnDeserialization(object), ObjectBase.IsSerializableEvent(Delegate), ObjectBase.CustomGetObjectData(SerializationInfo, StreamingContext), ObjectBase.CheckAndUpdateLink(HashSet&lt;ObjectBase&gt;), ObjectBase.Verify(VerifiedResult), ObjectBase.ConnectProxy(), ObjectBase.RollbackEvent(), ObjectBase.LinkRequestUpdating(object, LinkEventArgs), ObjectBase.LinkRequestUpdate(object, LinkEventArgs), ObjectBase.LinkRequestDestroying(object, LinkEventArgs), ObjectBase.LinkRequestDestroy(object, LinkEventArgs), ObjectBase.LinkAddedToDocument(object, AddToDocEventArgs), ObjectBase.LinkRemovedFromDocument(object, RemoveFromDocEventArgs), ObjectBase.DisposeManagedResources(), ObjectBase.GetDestroyEventExtraData(), ObjectBase.OnLinkReserved(ILink, object, EventArgs), ObjectBase.CreateEntityWhenUpdateContents(Action), ObjectBase.GetObjectByKey(UIntPtr), ObjectBase.FindObjectOnXmlDeserialize(string), ObjectBase.UpdateContents(XmlReader, ObjectBase, string), ObjectBase.UpdateContents(XmlReader, ObjectBase), ObjectBase.UpdateContents(string, string), ObjectBase.UpdateContents(string), ObjectBase.SetFlagWhenXMLFile(string, bool), ObjectBase.IsEqualArray&lt;T&gt;(T\[\], T\[\]), ObjectBase.IsEqualList(List&lt;double&gt;, List&lt;double&gt;), ObjectBase.SetContainer(IOwned, bool), ObjectBase.GetTargetListForUpdate(), ObjectBase.SkipUpdateObjectImpl(), ObjectBase.raise\_OnUpdating(object, LinkEventArgs), ObjectBase.raise\_OnUpdate(object, LinkEventArgs), ObjectBase.raise\_OnDestroying(object, LinkEventArgs), ObjectBase.raise\_OnDestroy(object, LinkEventArgs), ObjectBase.raise\_Destroying(object, Identifier), ObjectBase.raise\_OnAdded(object, AddToDocEventArgs), ObjectBase.raise\_OnRemoved(object, RemoveFromDocEventArgs), ObjectBase.raise\_OnContentsUpdated(object, EventArgs), ObjectBase.Dispose(bool), ObjectBase.SkipModified, ObjectBase.ClearChildInfoBeforeDeserialize, ObjectBase.KeyImpl, ObjectBase.ID, ObjectBase.TopologyEntityTypeName, ObjectBase.ObjectStateForCircularError, ObjectBase.ObjectState, ObjectBase.IsChildExternable, ObjectBase.IsExternable, ObjectBase.Container, ObjectBase.Owner, ObjectBase.Document, ObjectBase.UntypedEventCore, ObjectBase.KernelKey, ObjectBase.Key, ObjectBase.OnContentsUpdated, ObjectBase.OnRemoved, ObjectBase.OnAdded, ObjectBase.Destroying, ObjectBase.OnDestroy, ObjectBase.OnDestroying, ObjectBase.OnUpdate, ObjectBase.OnUpdating, LinkableBase.OnDeserialization(object), ObservableObject.Dispose(), ObservableObject.RaisePropertyChanged(string), ObservableObject.RaisePropertyChanged(string, object, object), ObservableObject.Dispose(bool), ObservableObject.DisposeManagedResources(), ObservableObject.DisposeUnmanagedResources(), ObservableObject.IsDisposed, ObservableObject.TryDisposing, ObservableObject.Disposed, ObservableObject.Disposing, ObservableObject.PropertyChanged

#### Extension Methods

[LinkPropertyItemCache.GetLinkProperties(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkProperties_System_Object_VM_Models_Pre_LinkPropertyType_), [LinkPropertyItemCache.GetLinkPropertiesAndValues(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkPropertiesAndValues_System_Object_VM_Models_Pre_LinkPropertyType_), [LinkPropertyItemCache.GetLinkedObjects&lt;T&gt;(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkedObjects__1_System_Object_VM_Models_Pre_LinkPropertyType_)

## Constructors

### DesignFrame()

Initializes a new instance of the  class.

```csharp
public DesignFrame()

```

### DesignFrame(string)

Initializes a new instance of the  class.

```csharp
public DesignFrame(string strName)

```

#### Parameters

`strName` [string](https://learn.microsoft.com/dotnet/api/system.string)

Name of the design frame.

## Properties

### FrameIconName

Gets the name of the frame icon. In order to distinguish from Marker.

```csharp
protected virtual string FrameIconName { get; }

```

#### Property Value

[string](https://learn.microsoft.com/dotnet/api/system.string)

### Hide

Gets or sets a value indicating whether this instance is hide.

```csharp
public bool Hide { get; set; }

```

#### Property Value

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### IsVisible

Gets or sets the visible state.

```csharp
public virtual bool IsVisible { get; set; }

```

#### Property Value

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### Layer

Gets or sets the layer.

```csharp
public Layer Layer { get; set; }

```

#### Property Value

Layer

### Orientation

Gets the orientation.

```csharp
public OMatrix Orientation { get; }

```

#### Property Value

OMatrix

### Position

Gets the position.

```csharp
public VectorBase Position { get; }

```

#### Property Value

VectorBase

### Transformation

Gets or sets the transformation.

```csharp
public TransformBase Transformation { get; set; }

```

#### Property Value

TransformBase

### TransformationMatrix

Gets or sets the transformation matrix.

```csharp
public TMatrix TransformationMatrix { get; set; }

```

#### Property Value

TMatrix

### Value

Gets the position.

```csharp
public VectorBase Value { get; }

```

#### Property Value

VectorBase

### X

Gets the X coordinate of position.

```csharp
public double X { get; }

```

#### Property Value

[double](https://learn.microsoft.com/dotnet/api/system.double)

### Y

Gets the Y coordinate of position.

```csharp
public double Y { get; }

```

#### Property Value

[double](https://learn.microsoft.com/dotnet/api/system.double)

### Z

Gets the Z coordinate of position.

```csharp
public double Z { get; }

```

#### Property Value

[double](https://learn.microsoft.com/dotnet/api/system.double)

## Methods

### BindInterfaceImpl(TMatrix, TMatrix, IInterface)

Binds the interface \[implementation\].

```csharp
protected override sealed void BindInterfaceImpl(TMatrix matFrom, TMatrix matTo, IInterface itf)

```

#### Parameters

`matFrom` TMatrix

The matrix before transformation.

`matTo` TMatrix

The matrix after transformation.

`itf` [IInterface](VM.Managed.IInterface.md)

The interface.

### Draw(Canvas)

Draws the icon.

```csharp
public virtual void Draw(Canvas canvas)

```

#### Parameters

`canvas` Canvas

The canvas has icon information.

### GetDirection(Coordinate)

Gets the direction.

```csharp
public VectorBase GetDirection(Coordinate DirectionType)

```

#### Parameters

`DirectionType` Coordinate

Type of the direction.

#### Returns

VectorBase

The direction

### GetFullName()

Gets the full name.

```csharp
public string GetFullName()

```

#### Returns

[string](https://learn.microsoft.com/dotnet/api/system.string)

The full name

### Initialize(ConvertFactor)

Initializes member through unit convert factor.

```csharp
public override void Initialize(Unit.ConvertFactor factor)

```

#### Parameters

`factor` Unit.ConvertFactor

The unit convert factor.

### InstantiateImpl(Reference, Canvas)

Instantiates the specified reference.

```csharp
protected virtual void InstantiateImpl(Reference reference, Canvas canvas)

```

#### Parameters

`reference` Reference

The reference

`canvas` Canvas

The canvas

### LinkRequestUpdate(object, LinkEventArgs)

Request for update the linked object.

```csharp
protected override void LinkRequestUpdate(object objNotifier, LinkEventArgs arg)

```

#### Parameters

`objNotifier` [object](https://learn.microsoft.com/dotnet/api/system.object)

The linked object.

`arg` LinkEventArgs

The  instance containing the event data.

### ReDraw()

Redraw.

```csharp
public virtual void ReDraw()

```

### ReadTemplateImpl(XmlReader)

Reads the template document \[implementation\].

```csharp
protected override void ReadTemplateImpl(XmlReader reader)

```

#### Parameters

`reader` [XmlReader](https://learn.microsoft.com/dotnet/api/system.xml.xmlreader)

The reader.

### WriteTemplateImpl(XmlWriter)

Writes the template document \[implementation\].

```csharp
protected override void WriteTemplateImpl(XmlWriter writer)

```

#### Parameters

`writer` [XmlWriter](https://learn.microsoft.com/dotnet/api/system.xml.xmlwriter)

The writer.