在许多 XAML 文件的根标记中的命名空间声明内,通常可看到两个 XML 命名空间声明。 第一个声明默认映射整个 WPF 客户端/框架 XAML 命名空间:
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
第二个声明映射单独的 XAML 命名空间,(通常)将其映射到 x:
前缀。
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
这些声明之间的关系是 x:
前缀映射支持 XAML 语言定义中的内部函数,并且 WPF 是将 XAML 用作语言并为 XAML 定义对象词汇的一种实现。 因为 WPF 词汇用法远比 XAML 内部函数用法常见,因此默认映射 WPF 词汇。
此 SDK 内,映射 XAML 语言内部函数支持的 x:
前缀约定后跟项目模板、示例代码和语言功能文档。XAML 命名空间定义许多常用功能,即使对于基本 WPF 应用程序而言,这些功能也是必需的。 例如,若要通过分部类将任何代码隐藏加入到 XAML 文件,必须将该类命名为相关 XAML 文件根元素中的 x:Class
属性。 或者,XAML 页面中定义的任何要作为键控资源访问的元素都应在当前元素上设置 x:Key
属性。 有关 XAML 的这些方面和其他方面的详细信息,请参阅 XAML 概述 (WPF) 或 XAML 语法详述。
参考来源:
https://docs.microsoft.com/zh-cn/dotnet/framework/wpf/advanced/xaml-namespaces-and-namespace-mapping-for-wpf-xaml