使用名称空间Silverlight / XAML的一些具体示例是什么?

时间:2009-01-25 12:59:00

标签: silverlight xaml namespaces

在Silverlight / XAML中,您有以下命名空间:

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

所以元素具有这样的命名空间属性:

<TextBlock x:Name="theMessage" Margin="10">Testing...</TextBlock>

什么时候对我有益?我是否会在某个时候创建​​另一个名称空间,例如:

xmlns:edward="http://www.tanguay.info/web" 

所以我可以把我自己的名字属性标签,例如:

<TextBlock x:Name="theMessage" edward:Name="secondName" Margin="10">Testing...</TextBlock>

然后以某种方式处理两个名称标签等?

1 个答案:

答案 0 :(得分:1)

XAML是一种基于XML的标记语言,因此您可以利用命名空间。这种方法的主要目标是以较小的单位组织您的工作,并保持它们之间的歧义。这与在.NET(或其他编程语言)中使用普通命名空间操作的原理相同。在XAML中,您可以使用

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
用于解决基本控件的

命名空间(请记住它只是一个字符串,而不是实际指向网站的地址)。 除此之外,通常会找到用于连接到包含业务逻辑或其他XAML对象的其他程序集(第三方或您拥有)的其他名称空间的引用。

xmlns:demo="clr-namespace:MyNamespace;assembly=MyNamespace.Lib"

并且在你的XAML中有这样的东西

<Grid>
      <demo:MyCustomControl />
</Grid>

MyCustomControl是在MyNamespace.Lib程序集中定义的控件。

编辑:记得,如果你想在命名空间引用中保留类似XAML的语法,你可以用uri的形式为它们创建别名。查看this示例。