XamlWriter.Save 方法

定义

直接或通过用于序列化指定对象的中间对象返回 XAML。

重载

Save(Object)

返回用于序列化指定对象及其属性的 XAML 字符串。

Save(Object, Stream)

将 XAML 信息保存到指定流中,以便序列化指定对象及其属性。

Save(Object, TextWriter)

将 XAML 信息保存为所提供的 TextWriter 对象的源。 然后,可以使用 TextWriter 的输出对所提供的对象及其属性进行序列化。

Save(Object, XamlDesignerSerializationManager)

将 XAML 信息保存到自定义序列化程序中。 然后,可以使用该序列化程序的输出来序列化提供的对象及其属性。

Save(Object, XmlWriter)

将 XAML 信息保存为所提供的 XmlWriter 对象的源。 然后,可以使用 XmlWriter 的输出对所提供的对象及其属性进行序列化。

Save(Object)

返回用于序列化指定对象及其属性的 XAML 字符串。

public:
 static System::String ^ Save(System::Object ^ obj);
public static string Save (object obj);
static member Save : obj -> string
Public Shared Function Save (obj As Object) As String

参数

obj
Object

要序列化的元素。 通常,这是页面或应用程序的根元素。

返回

可以写入流或文件的 XAML 字符串。 将序列化位于提供的 obj 元素下面的所有元素的逻辑树。

例外

objnull

应用程序未在完全信任环境中运行。

示例

以下示例使用 XamlWriter 类将 序列化Button为字符串。 然后,在 类上使用XamlReader静态Load方法将字符串反序列化回 Button

// 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);
' Create the Button.
Dim originalButton As New Button()
originalButton.Height = 50
originalButton.Width = 100
originalButton.Background = Brushes.AliceBlue
originalButton.Content = "Click Me"

' Save the Button to a string.
Dim savedButton As String = XamlWriter.Save(originalButton)

' Load the button
Dim stringReader As New StringReader(savedButton)
Dim xmlReader As XmlReader = XmlReader.Create(stringReader)
Dim readerLoadButton As Button = CType(XamlReader.Load(xmlReader), Button)

注解

此方法启用的序列化有一系列限制。 这是因为启用的序列化是显式运行时,如果有任何) ,则无法访问原始 XAML (中可能的设计时信息。 有关详细信息,请参阅 XamlWriter.Save 的序列化限制

在部分信任中运行时,不允许调用 Save

另请参阅

适用于

Save(Object, Stream)

将 XAML 信息保存到指定流中,以便序列化指定对象及其属性。

public:
 static void Save(System::Object ^ obj, System::IO::Stream ^ stream);
public static void Save (object obj, System.IO.Stream stream);
static member Save : obj * System.IO.Stream -> unit
Public Shared Sub Save (obj As Object, stream As Stream)

参数

obj
Object

要序列化的元素。 通常,这是页面或应用程序的根元素。

stream
Stream

序列化 XAML 信息的目标流。

例外

objstreamnull

应用程序未在完全信任环境中运行。

示例

以下示例使用 XamlWriter 类将 序列化ButtonMemoryStream 。 然后,使用 类上的XamlReader静态Load方法将流反序列化回 Button

// 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);
' Create the Button.
Dim originalButton As New Button()
originalButton.Height = 50
originalButton.Width = 100
originalButton.Background = Brushes.AliceBlue
originalButton.Content = "Click Me"

' Save the Button to a string.
Dim savedButton As String = XamlWriter.Save(originalButton)

' Load the button
Dim stringReader As New StringReader(savedButton)
Dim xmlReader As XmlReader = XmlReader.Create(stringReader)
Dim readerLoadButton As Button = CType(XamlReader.Load(xmlReader), Button)

注解

此方法启用的序列化有一系列限制。 这是因为启用的序列化是显式运行时,如果有任何) ,则无法访问原始 XAML (中可能的设计时信息。 有关详细信息,请参阅 XamlWriter.Save 的序列化限制

在部分信任中运行时,不允许调用 Save

另请参阅

适用于

Save(Object, TextWriter)

将 XAML 信息保存为所提供的 TextWriter 对象的源。 然后,可以使用 TextWriter 的输出对所提供的对象及其属性进行序列化。

public:
 static void Save(System::Object ^ obj, System::IO::TextWriter ^ writer);
public static void Save (object obj, System.IO.TextWriter writer);
static member Save : obj * System.IO.TextWriter -> unit
Public Shared Sub Save (obj As Object, writer As TextWriter)

参数

obj
Object

要序列化的元素。 通常,这是页面或应用程序的根元素。

writer
TextWriter

作为写入序列化 XAML 信息的目标的 TextWriter 实例。

例外

objwriternull

应用程序未在完全信任环境中运行。

注解

此方法启用的序列化有一系列限制。 这是因为启用的序列化是显式运行时,如果有任何) ,则无法访问原始 XAML (中可能的设计时信息。 有关详细信息,请参阅 XamlWriter.Save 的序列化限制

在部分信任中运行时,不允许调用 Save

另请参阅

适用于

Save(Object, XamlDesignerSerializationManager)

将 XAML 信息保存到自定义序列化程序中。 然后,可以使用该序列化程序的输出来序列化提供的对象及其属性。

public:
 static void Save(System::Object ^ obj, System::Windows::Markup::XamlDesignerSerializationManager ^ manager);
public static void Save (object obj, System.Windows.Markup.XamlDesignerSerializationManager manager);
static member Save : obj * System.Windows.Markup.XamlDesignerSerializationManager -> unit
Public Shared Sub Save (obj As Object, manager As XamlDesignerSerializationManager)

参数

obj
Object

要序列化的元素。 通常,这是页面或应用程序的根元素。

manager
XamlDesignerSerializationManager

自定义序列化实现。

例外

objmanagernull

应用程序未在完全信任环境中运行。

注解

此方法启用的序列化有一系列限制。 这是因为启用的序列化是显式运行时,如果有任何) ,则无法访问原始 XAML (中可能的设计时信息。 有关详细信息,请参阅 XamlWriter.Save 的序列化限制

在部分信任中运行时,不允许调用 Save

另请参阅

适用于

Save(Object, XmlWriter)

将 XAML 信息保存为所提供的 XmlWriter 对象的源。 然后,可以使用 XmlWriter 的输出对所提供的对象及其属性进行序列化。

public:
 static void Save(System::Object ^ obj, System::Xml::XmlWriter ^ xmlWriter);
public static void Save (object obj, System.Xml.XmlWriter xmlWriter);
static member Save : obj * System.Xml.XmlWriter -> unit
Public Shared Sub Save (obj As Object, xmlWriter As XmlWriter)

参数

obj
Object

要序列化的元素。 通常,这是页面或应用程序的根元素。

xmlWriter
XmlWriter

用于写入序列化的 XAML 信息的编写器。

例外

objxmlWriternull

应用程序未在完全信任环境中运行。

注解

此方法启用的序列化有一系列限制。 这是因为启用的序列化是显式运行时,如果有任何) ,则无法访问原始 XAML (中可能的设计时信息。 有关详细信息,请参阅 XamlWriter.Save 的序列化限制

在部分信任中运行时,不允许调用 Save

另请参阅

适用于