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

另請參閱

適用於