系统的Xaml阅读器的区别.Xaml和System.Windows.Markup
本文关键字:Xaml System Windows Markup 系统 区别 | 更新日期: 2023-09-27 18:06:56
有两个Xaml reader。其中一个包含在System.Xaml
,另一个包含在System.Windows.Markup
。它们之间有什么区别?
摘自MSDN:
一般来说,WPF类型和WPF技术支持依赖于访问WPF内部结构的概念。例如,WPF如何实现依赖项属性依赖于有效的类型成员查找的内部技术。通过XamlWriter
和XamlReader
中提供的XAML读写api,可以从System.Windows.Markup
名称空间和PresentationFramework程序集访问这些内部组件。然而,来自System.Xaml
程序集(基于System.Xaml.XamlReader
、System.Xaml.XamlWriter
的类)的底层XAML读取器和XAML写入器不能访问WPF内部组件。没有从System.Xaml
到任何wpf特定程序集的依赖关系。如果不能访问WPF内部,System.Xaml
阅读器和编写器就不能正确地加载或保存所有WPF类型,或基于WPF类型的类型。特别是,System.Xaml
的读者和作者不理解诸如WPF依赖属性支持属性存储之类的概念,或者WPF如何使用样式、资源字典和模板的所有细节。因此,你有一个选择:
- 如果您正在加载WPF类型,和/或您正在以任何方式使用BAML形式的XAML,请使用PresentationFramework XAML阅读器和XAML写入器。
- 如果您不依赖任何WPF类型或BAML形式的XAML,并且由于特定于该框架的原因不使用其他特定技术的XAML阅读器或XAML写入器实现,请使用
System.Xaml
XAML阅读器和XAML写入器。