在Silverlight中为什么有些属性以x为前缀,例如x:name,有些属性不是?

时间:2008-12-10 09:09:11

标签: wpf xml silverlight

在Silverlight中(我猜是WPF)为什么属性x:name x:fieldmodifier x:uid只有前缀为x的那些。

我理解x前缀用于引用XML命名空间,但是有许多其他属性不使用宽度等前缀。识别控件是一项常见的任务,需要一个前缀似乎很奇怪?

3 个答案:

答案 0 :(得分:3)

我认为这里的关键点是xaml和wpf / SL之间的区别。

Xaml实际上是一种对象初始化语言,完全独立于wpf / SL。例如,您还可以使用xaml在WF中定义工作流。我认为这就是让“纯”Xaml命名空间与表示命名空间区别开来的原因。

答案 1 :(得分:2)

更新:对不起,因为我不太清楚这个问题(见评论)。

在silverlight和wpf中,.net名称空间与xml名称空间相关联。 更常见的.net名称空间与xml名称空间相关联 “http://schemas.microsoft.com/winfx/2006/xaml/presentation”。 然后在xaml根元素中有这个命名空间定义:

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 

这意味着与“http://schemas.microsoft.com/winfx/2006/xaml/presentation”关联的.net名称空间不需要前缀。

Here是对xaml和命名空间的一个很好的解释。

答案 2 :(得分:-3)

其中一个:

  • 个人偏好。
  • 该项目的实现(类)与XAML文件位于相同的程序集中。
  • 有些傻瓜决定创建自己的名字。