【问题标题】:LoadComponent() Vs. XamlReader.Load()?LoadComponent() 与。 XamlReader.Load()?
【发布时间】:2009-05-26 16:42:12
【问题描述】:

与我问的earlier question 相关,我看到有LoadComponent() 和XamlReader.Load()。它们足够相似,以至于我不太确定在什么情况下应该使用哪一个。

那么,从本质上来说,两者有什么区别呢?

谢谢!

【问题讨论】:

    标签: c# wpf xaml


    【解决方案1】:

    MSDN

    推测
    我猜 LoadComponent 调用XamlReader.Load()。 LoadComponent 看起来更像是一个应用程序级别的服务,并且可能被应用程序本身用来加载所有的 xaml 资源。 XamlReader 是您想要的特定库调用。

    将其视为 LoadComponent 是一个应用程序服务,其中 XamlReader 是包含该功能的库。

    【讨论】:

      【解决方案2】:

      Application.LoadComponent:Application会先将资源作为一个'Package'预加载并注册到PreloadedPackage类中,调用LoadComponent方法时,wpf首先检查包是否存在和资源是否存在,然后检查resouse是xaml还是baml,最后加载提供 BaseUri 的资源流

      如果资源是 baml,LoadComponent 将使用 Baml2006Reader,否则使用 XamlReader 处理资源流。

      XamlReader.Load 可以在程序集外加载 xaml 资源。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多