什么是xmlns?
当我们创建一个WPF项目时,它在XAML文件中扮演什么角色?
xmlns是一个XML(不一定是XAML)构造,它定义了用于解析xml元素名称的命名空间。因为它是没有限定符定义的,所以它定义了默认的命名空间,XML元素名称应该通过它来解析。
在XAML中,通常会看到以下条目。它定义默认命名空间本质上是WPF和所有XML元素名称因此解析为WPF元素。
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
查看非默认命名空间(如下面所示)也很常见。
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
这为XAML特定元素定义了限定名称空间。如果你想要一个元素或属性名称在这个命名空间内解析,你应该用x来限定它。例如
<StackPanel x:Name="foo" />
在此定义中有2个名称解析。
> StackPanel – 因为它是一个无限制的名称,它将在默认名称空间是WPF解决> x:Name – 名称使用x限定,将在XAML文档中解析。