c# - Clr 命名空间映射到默认 xaml 命名空间

标签 c# .net wpf xaml

我有点厌倦了必须在每个 xaml 文件中声明一个 xmlns 并且必须为我的自定义控件使用前缀。是否可以将 clr 命名空间映射到“http://schemas.microsoft.com/winfx/2006/xaml/presentation”?

我在 AssemblyInfo.cs 中尝试了以下操作:

[assembly: XmlnsDefinition("http://schemas.microsoft.com/winfx/2006/xaml/presentation","MyOwnNamespace")]

但这似乎行不通。我仍然遇到编译错误,例如:

The tag 'MyCustomControl' does not exist in XML namespace 'http://schemas.microsoft.com/winfx/2006/xaml/presentation'.

注意:我的控件在同一个程序集中(我只有一个程序集)。

最佳答案

  1. 遗憾的是,如果这些控件是在同一个程序集中定义的,则您不能使用映射到由 XmlnsDefinition 定义的 Xaml 命名空间的控件。不过,不同的程序集工作正常。为此,您必须使用 clr-namespace 定义。

  2. 为什么要将控件添加到 Xaml 默认命名空间?不要这样做。这就像为您的类使用 System 命名空间,因为您不想为其命名空间添加 using 指令。

关于c# - Clr 命名空间映射到默认 xaml 命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11335271/

相关文章:

.net - 如何将样式应用于类及其后代?

wpf - 从datagrid中的一行中的选定单元格中删除边框

.net - 我可以配置Visual Studio在每次从一个项目中打开文件时都不更改StartUp Project吗?

c# - LiveCharts (LVC) WPF - 从 DataClick 事件获取图表

c# - 在我的 C# 应用程序中结合使用 Task 和 IObservable 是一种不好的做法吗?

javascript - 在 ASP.NET Web API 2 项目中为 Angular 设置路由

c# - Solr.Net 查询 : ArgumentException in Windows Forms

c# - 在多列上过滤列表

.net - WPF 装饰器类有用吗?

c# - T4 输出到字符串