上から順に、単純なデシリアライズ。ローカルアセンブリを指定したデシリアライズ。文字列へのシリアライズ。文字列以外のストリームやテキストライターへのシリアライズです。
using System; using System.IO; using System.Reflection; using System.Xaml; namespace ConsoleApplication5 { class Program { staticvoid Main(string[] args) { // 読み込み { // XAML var xaml = @"<Person xmlns='clr-namespace:ConsoleApplication5;assembly=ConsoleApplication5' Name='Tanaka' />"; // var r = new XamlXmlReader(new StringReader(xaml)); // 読み込み var p = XamlServices.Load(r) as Person; // 確認 Console.WriteLine(p.Name); } // 読み込み2 { // XAML(LocalAssemblyを指定してるのでxmlnsにassembly指定がいらない) var xaml = @"<Person xmlns='clr-namespace:ConsoleApplication5' Name='Tanaka' />"; // var r = new XamlXmlReader(new StringReader(xaml), new XamlXmlReaderSettings { LocalAssembly = Assembly.GetExecutingAssembly() }); // 読み込み var p = XamlServices.Load(r) as Person; // 確認 Console.WriteLine(p.Name); } // 書き込み { var xaml = XamlServices.Save(new Person { Name = "kimura" }); Console.WriteLine(xaml); } // 書き込み2 { var w = new StringWriter(); XamlServices.Save(w, new Person { Name = "kimura" }); Console.WriteLine(w.ToString()); } } } // XAMLで保存するオブジェクトpublicclass Person { publicstring Name { get; set; } } }