平常开发过程中,我们自定义的控件/组件,在使用的过程中,都需要加上命名空间的前缀,否则的话编译就会出错。

这让我们开发过程中,就显得比较麻烦。那有没有方法可以省去这个前缀呢?跟框架自带的组件一样使用?

方法比较简单,就是在我们程序集的声明中,增加如下声明。

[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文件中,使用之前,一定要记得先编译下这个库才会有智能提示出来。

欢迎转载分享,如若转载,请标注署名。

博客链接1:https://huchengv5.gitee.io/

博客链接2:https://huchengv5.github.io/

微信公众号:

承哥技术交流小作坊


本文会经常更新,请阅读原文: https://huchengv5.gitee.io//post/WPF-Xaml%E6%96%87%E4%BB%B6%E5%A6%82%E4%BD%95%E7%9C%81%E5%8E%BB%E5%91%BD%E5%90%8D%E7%A9%BA%E9%97%B4%E7%9A%84%E5%89%8D%E7%BC%80.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名胡承(包含链接: https://huchengv5.gitee.io/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系