XamlWriter.Save Method (Object, Stream)

 

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

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

public static void Save(
	object obj,
	Stream stream
)

Parameters

obj
Type: System.Object

The element to be serialized. Typically, this is the root element of a page or application.

stream
Type: System.IO.Stream

Destination stream for the serialized XAML information.

Exception Condition
ArgumentNullException

obj or stream is null.

SecurityException

The application is not running in full trust.

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.

The following example serializes a Button into a MemoryStream using the XamlWriter class. The stream 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
Return to top
Show: