WorkflowMarkupSerializer Class


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Provides the extensible Application Markup Language (XAML) serialization services to workflows at design time.

Namespace:   System.Workflow.ComponentModel.Serialization
Assembly:  System.Workflow.ComponentModel (in System.Workflow.ComponentModel.dll)

public class WorkflowMarkupSerializer


Initializes a new instance of the WorkflowMarkupSerializer class.

System_CAPS_protmethodAddChild(WorkflowMarkupSerializationManager, Object, Object)

Adds a child object to the specified object.

System_CAPS_protmethodCanSerializeToString(WorkflowMarkupSerializationManager, Object)

Returns a Boolean that indicates whether the specified object can be serialized to a string.

System_CAPS_protmethodClearChildren(WorkflowMarkupSerializationManager, Object)

Removes all child objects from the specified object.

System_CAPS_protmethodCreateInstance(WorkflowMarkupSerializationManager, Type)

Creates an instance of the specified Type using the specified WorkflowMarkupSerializationManager.

System_CAPS_pubmethodDeserialize(IDesignerSerializationManager, XmlReader)

Deserializes workflow markup into an Object using the specified serialization manager.


Deserializes workflow markup into an Object.

System_CAPS_protmethodDeserializeFromString(WorkflowMarkupSerializationManager, Type, String)

Deserializes extensible Application Markup Language (XAML) content from the specified string according to the given type of the property to deserialize.


Determines whether the specified object is equal to the current object.(Inherited from Object.)


Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_protmethodGetChildren(WorkflowMarkupSerializationManager, Object)

Retrieves a list of child objects for the specified object

System_CAPS_protmethodGetEvents(WorkflowMarkupSerializationManager, Object)

Retrieves information about all events associated with the specified Object.


Serves as the default hash function. (Inherited from Object.)

System_CAPS_protmethodGetProperties(WorkflowMarkupSerializationManager, Object)

Retrieves information about all properties associated with the specified object.


Gets the Type of the current instance.(Inherited from Object.)


Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_protmethodOnAfterDeserialize(WorkflowMarkupSerializationManager, Object)

Overridden. Notifies the WorkflowMarkupSerializer that an object has just been deserialized.

System_CAPS_protmethodOnAfterSerialize(WorkflowMarkupSerializationManager, Object)

Notifies the WorkflowMarkupSerializer that an object has just been serialized.

System_CAPS_protmethodOnBeforeDeserialize(WorkflowMarkupSerializationManager, Object)

Overridden. Notifies the WorkflowMarkupSerializer that an object is about to be deserialized.

System_CAPS_protmethodOnBeforeSerialize(WorkflowMarkupSerializationManager, Object)

Notifies the WorkflowMarkupSerializer that Serialize is about to run.

System_CAPS_pubmethodSerialize(IDesignerSerializationManager, XmlWriter, Object)

Serializes the specified Object into a workflow markup file or stream using the specified serialization manager.

System_CAPS_pubmethodSerialize(XmlWriter, Object)

Serializes the specified Object into a workflow markup file or stream.

System_CAPS_protmethodSerializeToString(WorkflowMarkupSerializationManager, Object)

Serializes the specified Object to a string.

System_CAPS_protmethodShouldSerializeValue(WorkflowMarkupSerializationManager, Object)

Returns a value that indicates whether the WorkflowMarkupSerializer should serialize the specified Object.


Returns a string that represents the current object.(Inherited from Object.)


Represents an attached DependencyProperty that is used to define which assemblies to reference for custom activities.


Represents an attached DependencyProperty that defines the names for event handler properties.


Represents an attached DependencyProperty that defines the type name, which will be created during compilation.


Represents a code example, embedded into XAML x:Code element.


This material discusses types and namespaces that are obsolete. For more information, see Deprecated Types in Windows Workflow Foundation 4.5.

WorkflowMarkupSerializer provides methods that serialize workflow and Activity classes into XAML format and deserialize XAML content into workflow and activity class objects. These services are primarily used by workflow designers to persist the classes on the workflow design surface.

WorkflowMarkupSerializer is the base class for all markup serializers included in the System.Workflow.ComponentModel.Serialization namespace.

For more information, see Serialization in the .NET Framework.

WorkflowMarkupSerializer does not support serialization of nested types.

The functionality of WorkflowMarkupSerializer is dependent on functionality of other types outside of Windows Workflow Foundation. Based on the limitations of those other types, not all data types can be serialized through the WorkflowMarkupSerializer. The following is a list is an example of some unsupported types.


This is not an exhaustive and complete list of unsupported types.

Arrays (supported only if property is not decorated with DesignerSerializationVisibility.Content attribute value)

Types without parameterless constructors

Multidimensional Arrays

Generic types (Generic List and Dictionary types supported only if property is decorated with DesignerSerializationVisibility.Content attribute value)







Enumeration Arrays

Enumerations decorated with the FlagsAttribute

In addition to this list, any property decorated with both the ContentPropertyAttibute and the DesignerSerializationVisibilityAttribute cannot be serialized by WorkflowMarkupSerializer.

.NET Framework
Available since 3.0

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top