XamlWriter Class
TOC
Collapse the table of content
Expand the table of content

XamlWriter Class

 

Provides a single static Save method (multiple overloads) that can be used for limited XAML serialization of provided run-time objects into XAML markup.

Namespace:   System.Windows.Markup
Assembly:  PresentationFramework (in PresentationFramework.dll)

System.Object
  System.Windows.Markup.XamlWriter

public static class XamlWriter

NameDescription
System_CAPS_pubmethodSystem_CAPS_staticSave(Object)

Returns a XAML string that serializes the specified object and its properties.

System_CAPS_pubmethodSystem_CAPS_staticSave(Object, Stream)

Saves XAML information into a specified stream to serialize the specified object and its properties.

System_CAPS_pubmethodSystem_CAPS_staticSave(Object, TextWriter)

Saves XAML information as the source for a provided TextWriter object. The output of the TextWriter can then be used to serialize the provided object and its properties.

System_CAPS_pubmethodSystem_CAPS_staticSave(Object, XamlDesignerSerializationManager)

Saves XAML information into a custom serializer. The output of the serializer can then be used to serialize the provided object and its properties.

System_CAPS_pubmethodSystem_CAPS_staticSave(Object, XmlWriter)

Saves XAML information as the source for a provided XmlWriter object. The output of the XmlWriter can then be used to serialize the provided object and its properties.

The serialization enabled by this method has a series of limitations. This is because the serialization enabled is explicitly run-time, and does not have access to possible design-time information in the original XAML (if any). For details, see Serialization Limitations of XamlWriter.Save.

Calling Save is not permitted when running in partial trust. This includes from XBAPs.

The following example serializes a Button into a string using the XamlWriter class. The string is then deserialized back into a Button using the static Load method on the XamlReader class.

// Create the Button.
Button originalButton = new Button();
originalButton.Height = 50;
originalButton.Width = 100;
originalButton.Background = Brushes.AliceBlue;
originalButton.Content = "Click Me";

// Save the Button to a string.
string savedButton = XamlWriter.Save(originalButton);

// Load the button
StringReader stringReader = new StringReader(savedButton);
XmlReader xmlReader = XmlReader.Create(stringReader);
Button readerLoadButton = (Button)XamlReader.Load(xmlReader);

.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
Show:
© 2016 Microsoft