科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件WPF中,怎样将XAML代码加载为相应的对象?

WPF中,怎样将XAML代码加载为相应的对象?

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

怎样将XAML代码加载为相应的对象呢?

作者:builder.com.cn 来源:来源网站 2007年11月25日

关键字: WPF

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共19页)

在前面“在WPF中,如何得到任何Object对象的XAML代码?”一文中,我介绍了使用System.Windows.Markup.XamlWriter.Save(objName)得到任何Object对象的XAML代码。,那么,又怎样将XAML代码加载为相应的对象呢?

分两种情况来讲这个问题:

1、在程序中,XAML代码已是内存字符串时
比如:
string xamlContent =@"<Button Height=""50"" Width=""100"" Background=""#FFF0F8FF"" xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/presentation"">Click 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);
 



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1901354

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章