語言

XamlWriter.Save 方法

定義

回傳 XAML 可以直接回傳,或透過物件中介將指定物件序列化。

多載

名稱 Description
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 元素的邏輯樹都會被序列化。

例外狀況

obj 是 null。

應用程式並非在完全信任狀態下運行。

範例

以下範例將 a Button 序列化成字串,使用 類別 XamlWriter 。 接著,字串會用類別上的Button靜態Load方法反序列化回 。XamlReader

// 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 資訊的目的地串流。

例外狀況

obj 或 stream 為 null。

應用程式並非在完全信任狀態下運行。

範例

以下範例將 a Button 序列化為 a MemoryStream ,使用 類別 XamlWriter 。 接著,串流會用類別上的Button靜態Load方法反序列化回 。XamlReader

// 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

實 TextWriter 例作為序列化 XAML 資訊的寫入目的地。

例外狀況

obj 或 writer 為 null。

應用程式並非在完全信任狀態下運行。

備註

此方法所能實現的序列化存在一系列限制。 這是因為啟用序列化是明確執行時的,且無法存取原始 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

一種自訂序列化實作。

例外狀況

obj 或 manager 為 null。

應用程式並非在完全信任狀態下運行。

備註

此方法所能實現的序列化存在一系列限制。 這是因為啟用序列化是明確執行時的,且無法存取原始 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 資訊。

例外狀況

obj 或 xmlWriter 為 null。

應用程式並非在完全信任狀態下運行。

備註

此方法所能實現的序列化存在一系列限制。 這是因為啟用序列化是明確執行時的,且無法存取原始 XAML 中可能的設計時資訊(若有的話)。 詳情請參閱 XamlWriter.Save. 的序列化限制。

部分信任模式下不允許通話 Save 。

另請參閱

適用於