C# System.Xaml和System.Windows.Markup的Xaml读取器之间的差异?
有两个Xaml阅读器。其中一个包含在C# System.Xaml和System.Windows.Markup的Xaml读取器之间的差异?,c#,wpf,silverlight,xaml,markup,C#,Wpf,Silverlight,Xaml,Markup,有两个Xaml阅读器。其中一个包含在System.Xaml中,另一个包含在System.Windows.Markup中。 它们之间有什么区别?摘自: WPF类型和WPF技术通常支持依赖于访问WPF内部构件的概念。例如,WPF实现依赖属性的方式依赖于内部技术来高效地查找类型成员。通过System.Windows.Markup命名空间和PresentationFramework程序集的XamlWriter和XamlReader中提供的XAML读写API,可以访问这些内部构件。但是,来自System.
System.Xaml
中,另一个包含在System.Windows.Markup
中。
它们之间有什么区别?摘自:
WPF类型和WPF技术通常支持依赖于访问WPF内部构件的概念。例如,WPF实现依赖属性的方式依赖于内部技术来高效地查找类型成员。通过System.Windows.Markup
命名空间和PresentationFramework程序集的XamlWriter
和XamlReader
中提供的XAML读写API,可以访问这些内部构件。但是,来自System.XAML
程序集(基于System.XAML.XamlReader
,System.XAML.XamlWriter
的类)的低级XAML读取器和XAML编写器无法访问WPF内部结构。System.Xaml
与任何特定于WPF的程序集都没有依赖关系。如果无法访问WPF内部构件,System.Xaml
读卡器和写卡器无法正确加载或保存所有WPF类型或基于WPF类型的类型。特别是,System.Xaml
读取器和编写器不理解WPF依赖项属性backing属性存储等概念,也不理解WPF如何使用样式、资源字典和模板的所有细节。因此,您可以选择:
- 如果您正在加载WPF类型,和/或以任何方式在BAML表单中使用XAML,请使用PresentationFramework XAML读取器和XAML编写器
- 如果您不依赖任何WPF类型或XAML的BAML形式,并且由于特定于该框架的原因而不使用其他特定技术的XAML读取器或XAML编写器实现,请使用
XAML读取器和XAML编写器System.XAML
@因为有些人没有别的事可做。