Clr 命名空间映射到默认 xaml 命名空间
本文关键字:命名空间 xaml 默认 映射 Clr | 更新日期: 2023-09-27 18:34:03
我有点厌倦了在每个 xaml 文件中声明一个 xmlns,并且不得不为我的自定义控件使用前缀。是否可以将 clr 命名空间映射到"http://schemas.microsoft.com/winfx/2006/xaml/presentation"?
我在AssemblyInfo中尝试了以下内容.cs:
[assembly: XmlnsDefinition("http://schemas.microsoft.com/winfx/2006/xaml/presentation","MyOwnNamespace")]
但这似乎行不通。我仍然收到编译错误,例如:
标记"MyCustomControl"在 XML 命名空间"http://schemas.microsoft.com/winfx/2006/xaml/presentation"中不存在。
注意:我的控件位于同一程序集中(我有一个程序集)。
-
遗憾的是,如果控件是在同一程序集中定义的,则不能使用映射到
XmlnsDefinition
定义的 Xaml 命名空间的控件。不过,不同的程序集工作正常。为此,您必须使用clr-namespace
定义。 -
为什么要将控件添加到 Xaml 默认命名空间?别这样。这就像对类使用
System
命名空间一样,因为您不想为它们的命名空间添加using
指令。