平常开发过程中,我们自定义的控件/组件,在使用的过程中,都需要加上命名空间的前缀,否则的话编译就会出错。
这让我们开发过程中,就显得比较麻烦。那有没有方法可以省去这个前缀呢?跟框架自带的组件一样使用?
方法比较简单,就是在我们程序集的声明中,增加如下声明。
[assembly: XmlnsDefinition("http://schemas.microsoft.com/winfx/2006/xaml/presentation","命名空间", AssemblyName = "程序集名称")]
这个声明在AssemblyInfo.cs
文件中
如果是使用dotnet core
或者Microsoft.NET.Sdk
,可以通过 false 来关闭自动生成的AssemblyInfo
,手动来创建这个文件。
使用前
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:ui="clr-namespace:xxxxx.UI"
<Grid ui:XXXProperty.XXX="aaa">
</Grid>
使用后,
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
//xmlns:ui="clr-namespace:xxxxx.UI"
<Grid XXXProperty.XXX="aaa">
</Grid>
通过这种方式,我们的编码效率又能得到小步提升了。
这里需要注意下,因为改逻辑是放在AssemblyInfo.cs
文件中,使用之前,一定要记得先编译下这个库才会有智能提示出来。