Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# System.Xaml和System.Windows.Markup的Xaml读取器之间的差异?_C#_Wpf_Silverlight_Xaml_Markup - Fatal编程技术网

C# System.Xaml和System.Windows.Markup的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.

有两个Xaml阅读器。其中一个包含在
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编写器实现,请使用
    System.XAML
    XAML读取器和XAML编写器

@因为有些人没有别的事可做。