本文共 914 字,大约阅读时间需要 3 分钟。
在前面“”一文中,我介绍了使用System.Windows.Markup.XamlWriter.Save(objName)得到任何Object对象的XAML代码。,那么,又怎样将XAML代码加载为相应的对象呢?
分两种情况来讲这个问题:1、在程序中,XAML代码已是内存字符串时:比如:string xamlContent =@"<Button Height=""50"" Width=""100"" Background=""#FFF0F8FF"" xmlns="" Me</Button>";那么,我们可以直接使用StringReader和XmlReader:StringReader stringReader = new StringReader(xamlContent);XmlReader xmlReader = XmlReader.Create(stringReader);Button readerLoadButton = (Button)XamlReader.Load(xmlReader);注意:需要显式地将对象转换为相应的类型。比如这里使用了(Button)进行显示转换。2、加载的是包含XAML代码的文件: string xamlFileName = @"c:/myButton.xaml"; string xamlContent = string.Empty; try { using (StreamReader sr = new StreamReader(xamlFileName)) { xamlContent = sr.ReadToEnd(); } } catch (Exception e) { // } // 以下同上 StringReader stringReader = new StringReader(xamlContent); XmlReader xmlReader = XmlReader.Create(stringReader); Button readerLoadButton = (Button)XamlReader.Load(xmlReader);转载地址:http://llbsl.baihongyu.com/