更改 WPF 项目模板的命名空间

Posted

技术标签:

【中文标题】更改 WPF 项目模板的命名空间【英文标题】:Changing namespace of the WPF Project Template 【发布时间】:2010-10-06 13:30:45 【问题描述】:

当我修改 xaml 的 cs 时,我将不得不进入并手动修改相应的 *.g.cs 文件。每次重建时它似乎都会被覆盖。

所以我的问题是,在 WPF 项目模板生成的 WPF 应用程序上更改命名空间的正确方法是什么?

【问题讨论】:

【参考方案1】:

由于 .g.cs 文件是从 .xaml 文件生成的,因此除了更改 .xaml.cs 文件中的命名空间之外,您还必须更改 .xaml 文件中的命名空间。

例如,我的一个项目中的主窗口在 mainwindow.xaml 中声明如下:

<Window x:Class="Penov.Playground.MainWindow">

对应的mainwindow.xaml.cs文件包含:

namespace Penov.Playground

    public class MainWindow

如果我想从 Penov.Playground 更改命名空间,我需要在两个地方都进行更改。这将导致在下一次构建时使用新命名空间生成 .g.cs 文件。

【讨论】:

它的答案让我每天都在使用这样的精彩资源 最简单的方法是在更改程序集名称时对整个项目进行搜索和替换。确保为模板程序集名称使用唯一名称,以便其他人尝试搜索和替换时不会导致残留错误。

以上是关于更改 WPF 项目模板的命名空间的主要内容,如果未能解决你的问题,请参考以下文章

无法在WPF中创建继承的usercontrol,本地命名空间中的基本控件“不存在”

一个wpf命名空间问题

WPF_X命名空间

WPF 命名空间“System.ComponentModel.Composition”中不存在类型或命名空间名称“CompositionInitializer”

WPF DataBinding 与其他命名空间/类

wpf 命名空间中不存在