    

 ## On this page

  

 

 # Class PropertyDocument&lt;TProp\\&gt;

 Last update: 16.07.2025 

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

This base class is to represent the propety document.

```csharp
public abstract class PropertyDocument<TProp> : PropertyDocumentBase, IObservableObject, IDisposableObject, ILinkable, ILinkContainerEvent, IVerifiable, IDocument, IObject, IEventProvider, IContainer, ILinkContainer, IOwned, IHasID, IEnableManager, IRelatedDocument, IHistorySupport, IPropertyDocument, IUnitChange, IXMLFormatable where TProp : Property, IFileProperty, new()

```

#### Type Parameters

`TProp`

The type of the property.

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← ObservableObject ← LinkableBase ← LinkContainer ← Container ← Document ← [PropertyDocumentBase](VM.Managed.PropertyDocumentBase.md) ← [PropertyDocument&lt;TProp&gt;](VM.Managed.PropertyDocument-1.md)

#### Implements

IObservableObject, IDisposableObject, ILinkable, ILinkContainerEvent, IVerifiable, IDocument, IObject, IEventProvider, IContainer, ILinkContainer, IOwned, IHasID, IEnableManager, IRelatedDocument, IHistorySupport, [IPropertyDocument](VM.Managed.IPropertyDocument.md), [IUnitChange](VM.Managed.IUnitChange.md), IXMLFormatable

#### Inherited Members

[PropertyDocumentBase.Save(string)](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_Save_System_String_), [PropertyDocumentBase.SerializeObj&lt;T&gt;(XmlWriter, T, string)](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_SerializeObj__1_System_Xml_XmlWriter___0_System_String_), [PropertyDocumentBase.DeserializeObj&lt;T&gt;(XmlReader, string, Type)](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_DeserializeObj__1_System_Xml_XmlReader_System_String_System_Type_), [PropertyDocumentBase.Save(TextWriter)](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_Save_System_IO_TextWriter_), [PropertyDocumentBase.Save(Stream)](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_Save_System_IO_Stream_), [PropertyDocumentBase.Load(string)](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_Load_System_String_), [PropertyDocumentBase.Load(TextReader)](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_Load_System_IO_TextReader_), [PropertyDocumentBase.Load(Stream)](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_Load_System_IO_Stream_), [PropertyDocumentBase.SetUnit(Unit)](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_SetUnit_VM_Unit_), [PropertyDocumentBase.AddReferenceDocument(Document)](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_AddReferenceDocument_VM_Managed_Document_), [PropertyDocumentBase.RemoveReferenceDocument(Document)](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_RemoveReferenceDocument_VM_Managed_Document_), [PropertyDocumentBase.FindLocal(string)](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_FindLocal_System_String_), [PropertyDocumentBase.Add(ObjectBase)](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_Add_VM_Managed_ObjectBase_), [PropertyDocumentBase.OnPostAdd(ObjectBase)](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_OnPostAdd_VM_Managed_ObjectBase_), [PropertyDocumentBase.AddImpl(ObjectBase)](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_AddImpl_VM_Managed_ObjectBase_), [PropertyDocumentBase.IsTypeSupported(Type)](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_IsTypeSupported_System_Type_), [PropertyDocumentBase.OnDeserialization(object)](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_OnDeserialization_System_Object_), [PropertyDocumentBase.CreateView(UIntPtr)](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_CreateView_System_UIntPtr_), [PropertyDocumentBase.TriggerPostMakeDocument(PropertyDocCreateInfo)](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_TriggerPostMakeDocument_VM_Managed_PropertyDocCreateInfo_), [PropertyDocumentBase.OnPostMakeDocument(DocCreateInfo)](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_OnPostMakeDocument_VM_Managed_DocCreateInfo_), [PropertyDocumentBase.GetData(XmlNode)](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_GetData_System_Xml_XmlNode_), [PropertyDocumentBase.SetData(XmlNode)](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_SetData_System_Xml_XmlNode_), [PropertyDocumentBase.Reload](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_Reload), [PropertyDocumentBase.UntypedProperty](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_UntypedProperty), [PropertyDocumentBase.PropertyType](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_PropertyType), [PropertyDocumentBase.Modified](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_Modified), [PropertyDocumentBase.UntypedPropertyOwner](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_UntypedPropertyOwner), [PropertyDocumentBase.DocumentSessionOverride](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_DocumentSessionOverride), [PropertyDocumentBase.SetDocumentSessionOverride](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_SetDocumentSessionOverride), [PropertyDocumentBase.OwnedList](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_OwnedList), [PropertyDocumentBase.OwnedCollection](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_OwnedCollection), [PropertyDocumentBase.CanClose](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_CanClose), [PropertyDocumentBase.IsPropertySupport](VM.Managed.PropertyDocumentBase.md#VM_Managed_PropertyDocumentBase_IsPropertySupport), Document.g\_OpenDocuments, Document.m\_unit, Document.m\_unitKernal, Document.raise\_OnChildAdded(object, DocumentEventArgs), Document.raise\_OnChildRemoved(object, DocumentEventArgs), Document.raise\_OnChildRenamed(object, DocumentEventArgs), Document.raise\_OnChildUpdated(object, DocumentEventArgs), Document.raise\_OnChildUpdatedEnable(object, DocumentEventArgs), Document.raise\_OnChildUpdatedAll(object, DocumentEventArgs), Document.raise\_OnChildDocNameUpdated(object, DocumentEventArgs), Document.raise\_OnDependentDocumentAdded(object, DependentDocEventArgs), Document.raise\_OnDependentDocumentRemoved(object, DependentDocEventArgs), Document.raise\_OnClearSelectNavigator(object, DocumentEventArgs), Document.raise\_OnChildRootSelect(object, DocumentEventArgs), Document.raise\_OnChangeIconForNodalModal(object, DocumentEventArgs), Document.raise\_OnDoingImport(object, DocumentEventArgs), Document.raise\_OnSkipChildAdded(object, DocumentEventArgs), Document.raise\_OnSimulationCaseUpdated(object, EventArgs), Document.raise\_OnSubentityRefreshed(object, EventArgs), Document.raise\_OnSubentityAdded(object, DocumentEventArgs), Document.raise\_OnChildMultiAdded(object, DocumentEventArgs), Document.raise\_OnSingleObjectSelected(object, ObjectBaseEventArgs), Document.raise\_Destroying(object, EventArgs), Document.raise\_ChildAdded(object, Identifier), Document.raise\_ChildRemoved(object, Identifier), Document.raise\_ChildReplacing(object, Identifier), Document.raise\_ChildReplaced(object, Identifier), Document.raise\_SelectionChanged(object, IEnumerable&lt;Identifier&gt;), Document.Initialize(Document.OpenDoc, Document.BrowseFile, Document.IsOpenDoc, Document.GetDocFromOpenedDoc, Document.ActiveDocChange), Document.Open(string, bool, bool), Document.Open(string, bool), Document.Open(string), Document.Open(string, string, bool), Document.Open(string, string), Document.TryOpen(string, LoadSerializeContext, bool), Document.TryOpen(string, string, bool), Document.TryOpen(string, string), Document.GetDocumentFromOpenedDocument(string), Document.IsOpen(string), Document.ActiveChangedDoc(), Document.Save(string), Document.PostSave(List&lt;Document&gt;, bool), Document.CreateView(UIntPtr), Document.CloseView(View), Document.Add(ObjectBase), Document.UpdateEnable(ObjectBase, bool), Document.UpdateInterface(ObjectBase, bool), Document.IsTypeSupported(Type), Document.AddToSelectionList(ObjectBase), Document.CancelSelection(bool, bool), Document.ExitCommandMode(), Document.PostOpenDocument(), Document.PostOpenDocumentAfterHookEvent(), Document.PostOpenDocumentAfterErrCheckEvent(), Document.PostOpenDocumentAfterRestoreObjectID(), Document.PostOpenDocumentAfterSetFilePath(), Document.PostCloseDocument(), Document.LinkRequestDestroy(object, LinkEventArgs), Document.PostOpenDocumentAndInitLayer(), Document.DisplayModeShape(int, double), Document.EnableModeShape(bool), Document.GetData(XmlNode), Document.SetData(XmlNode), Document.OperationBegin(), Document.OperationEnd(), Document.GetCopyOfUnit(), Document.GetCopyOfKernelUnit(), Document.FastToConvertUnitLength(bool), Document.ContainsNameAttribute(string), Document.ReplacesNameAttribute(string, string), Document.GetUniqueNameAttribute(string), Document.UpdateItemInNavigaterForUndoRedo(IObjectBase), Document.AddItemToNavigaterForUndoRedo(ObjectBase), Document.RemoveItemFromNavigaterForUndoRedo(ObjectBase), Document.RenameItemFromNavigaterForUndoRedo(ObjectBase), Document.UpdateAllItemInNavigaterForUndoRedo(), Document.UpdateSimulationConfigurationForUndoRedo(), Document.AddItemToSubEntityForUndoRedo(ObjectBase), Document.AddReferenceForUndoRedo(ObjectBase), Document.RefreshReferenceForUndoRedo(ObjectBase), Document.AddToIDMap(IObject), Document.FindObjectFromID(Identifier), Document.FindObjectFromKey(UIntPtr), Document.RemoveFromIDMap(IObject), Document.WriteIDInformation(), Document.GetNextIdentifier(), Document.GetChildren(), Document.Close(), Document.SetUnit(Unit), Document.SetKernelUnit(string), Document.IsEnabledImpl(ObjectBase), Document.SetEnableImpl(ObjectBase, bool), Document.OnDeserialization(object), Document.OnPostMakeDocument(DocCreateInfo), Document.RegisterAddon(), Document.OnContainerDestroy(object, LinkEventArgs), Document.ClearDocument(), Document.Dispose(bool), Document.ClearChildInfoBeforeDeserialize, Document.ExpressionParser, Document.IsHideEntityListWindow, Document.IsHideFilterWindow, Document.SelectedLayoutAlgorithmType, Document.FilterdTypes, Document.CloseAllDialogWhenCloseDoc, Document.DoingOpen, Document.DoingClose, Document.Attributes, Document.AutoSaved, Document.IsChildExternable, Document.IsExternable, Document.IsReplaced, Document.FilePath, Document.DocumentName, Document.InitialConvertFactor, Document.DocumentSessionOverride, Document.CanClose, Document.Modified, Document.SelectionChanged, Document.ChildReplaced, Document.ChildReplacing, Document.ChildRemoved, Document.ChildAdded, Document.Destroying, Document.OnSingleObjectSelected, Document.OnChildMultiAdded, Document.OnSubentityAdded, Document.OnSubentityRefreshed, Document.OnSimulationCaseUpdated, Document.OnSkipChildAdded, Document.OnDoingImport, Document.OnChangeIconForNodalModal, Document.OnChildRootSelect, Document.OnClearSelectNavigator, Document.OnDependentDocumentRemoved, Document.OnDependentDocumentAdded, Document.OnChildDocNameUpdated, Document.OnChildUpdatedAll, Document.OnChildUpdatedEnable, Document.OnChildUpdated, Document.OnChildRenamed, Document.OnChildRemoved, Document.OnChildAdded, Container.Find(string), Container.FindLocal(string), Container.GetUnnamedObjectName(object), Container.GetNewEntityName(string, bool, int, int), Container.GetNewEntityName(string, bool, int), Container.GetNewEntityName(string), LinkContainer.SetModified(), LinkContainer.raise\_OnUpdating(object, LinkEventArgs), LinkContainer.raise\_OnUpdate(object, LinkEventArgs), LinkContainer.raise\_OnDestroying(object, LinkEventArgs), LinkContainer.raise\_OnDestroy(object, LinkEventArgs), LinkContainer.raise\_OnAdded(object, AddToDocEventArgs), LinkContainer.raise\_OnRemoved(object, RemoveFromDocEventArgs), LinkContainer.GetTargetListForUpdate(), LinkContainer.SkipUpdateObjectImpl(), LinkContainer.Initialize(Unit.ConvertFactor), LinkContainer.SetFlagWhenXMLFile(string, bool), LinkContainer.IsSerializableEvent(Delegate), LinkContainer.CustomGetObjectData(SerializationInfo, StreamingContext), LinkContainer.GetSerializedData(SerializationInfo, StreamingContext), LinkContainer.LinkRequestUpdating(object, LinkEventArgs), LinkContainer.LinkRequestUpdate(object, LinkEventArgs), LinkContainer.LinkRequestDestroying(object, LinkEventArgs), LinkContainer.LinkRequestDestroy(object, LinkEventArgs), LinkContainer.LinkAddedToDocument(object, AddToDocEventArgs), LinkContainer.LinkRemovedFromDocument(object, RemoveFromDocEventArgs), LinkContainer.OnLinkReserved(ILink, object, EventArgs), LinkContainer.CanBeDestroy(object), LinkContainer.DisposeManagedResources(), LinkContainer.SetContainer(IOwned, bool), LinkContainer.OnChildUpdated(object, LinkEventArgs), LinkContainer.OnContainerDestroy(object, LinkEventArgs), LinkContainer.OnDeserialization(object), LinkContainer.Verify(VerifiedResult), LinkContainer.GetCopy(object), LinkContainer.Dispose(bool), LinkContainer.ClearChildInfoBeforeDeserialize, LinkContainer.Container, LinkContainer.Owner, LinkContainer.Document, LinkContainer.ID, LinkContainer.IsChildExternable, LinkContainer.IsExternable, LinkContainer.OnRemoved, LinkContainer.OnAdded, LinkContainer.OnDestroy, LinkContainer.OnDestroying, LinkContainer.OnUpdate, LinkContainer.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

### PropertyDocument()

Initializes a new instance of the  class.

```csharp
protected PropertyDocument()

```

## Properties

### FilePropertyOwner

Gets the file property owner.

```csharp
public FilePropertyOwner<TProp> FilePropertyOwner { get; }

```

#### Property Value

[FilePropertyOwner](VM.Managed.FilePropertyOwner-1.md)&lt;TProp&gt;

### Property

Gets the property.

```csharp
public TProp Property { get; }

```

#### Property Value

TProp

### PropertyType

Gets the type of the property.

```csharp
protected override Type PropertyType { get; }

```

#### Property Value

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

### UntypedProperty

Gets or sets the untyped property.

```csharp
protected override Property UntypedProperty { get; set; }

```

#### Property Value

[Property](VM.Managed.Property.md)

### UntypedPropertyOwner

Gets the untyped property owner.

```csharp
protected override ObjectBase UntypedPropertyOwner { get; }

```

#### Property Value

ObjectBase

## Methods

### Load(TextReader)

Loads the from specified reader.

```csharp
public override void Load(TextReader reader)

```

#### Parameters

`reader` [TextReader](https://learn.microsoft.com/dotnet/api/system.io.textreader)

The reader.

### OnPostMakeDocument(DocCreateInfo)

Called when \[post make document\].

```csharp
protected override void OnPostMakeDocument(DocCreateInfo docCreateInfo)

```

#### Parameters

`docCreateInfo` DocCreateInfo

The \[document create\] information.

### Save(TextWriter)

Saves the from specified writer.

```csharp
public override void Save(TextWriter writer)

```

#### Parameters

`writer` [TextWriter](https://learn.microsoft.com/dotnet/api/system.io.textwriter)

The writer.