2009-01-25 37 views
1

在Silverlight/XAML你有命名空间,如:什么是使用命名空间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

XAML是一种基于XML的标记语言,因此您可以利用名称空间。这种方法的主要目标是用较小的单位来组织你的工作,并保持它们之间的消除歧义。这与使用.NET(或其他编程语言)中的普通名称空间进行操作的原理是相同的。 Tipically在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示例。

相关问题