XamlWriter.Save 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
直接或透過物件媒介 (可序列化指定的物件) 傳回 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
項目下的所有項目的邏輯樹狀結構都將被序列化。
例外狀況
obj
為 null
。
應用程式不是在完全信任的環境下執行。
範例
下列範例會使用 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 資訊的目的資料流。
例外狀況
obj
或 stream
為 null
。
應用程式不是在完全信任的環境下執行。
範例
下列範例會使用 類別XamlWriter將 串行化Button為 MemoryStream 。 接著,使用 類別上的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 執行個體。
例外狀況
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)
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 。