【发布时间】:2021-07-02 09:04:35
【问题描述】:
是否可以在 Visual Studio 社区中重命名 WPF 窗口?这样做会破坏整个项目,因为似乎在其他一些地方使用了旧名称,而且很难追踪到它们。我知道的唯一方法是删除旧窗口并创建新窗口,同时从前一个窗口移动代码。但也许有更好的方法来做到这一点?
【问题讨论】:
标签: c# wpf visual-studio
是否可以在 Visual Studio 社区中重命名 WPF 窗口?这样做会破坏整个项目,因为似乎在其他一些地方使用了旧名称,而且很难追踪到它们。我知道的唯一方法是删除旧窗口并创建新窗口,同时从前一个窗口移动代码。但也许有更好的方法来做到这一点?
【问题讨论】:
标签: c# wpf visual-studio
它中断了,因为很可能,您没有重命名代码隐藏类。
为此,您需要重命名Window.xaml.cs 中的类。
因此,右键单击该类(应为Window)并适当地重命名。另外,还要重命名文件。
另外,请确保在 XAML 中重命名后引用正确的类。
所以分解一下:
x:Class 属性的XAML 文件中应用该更改,例如。 x:Class="WpfTestApp.MainWindow"
【讨论】:
您必须确保在两个相关文件Window1.xaml 和Window1.xaml.cs 中,部分 Window1 类被同等重命名。
您还应该清除构建(在 VS-Menu 'Build'-> 'Clear Build')和/或手动删除项目的“Obj”文件夹。 Obj 文件夹中有生成的代码文件(如Application.g.cs 等)可能引用旧实体,然后导致这些问题。
【讨论】:
最佳策略是选择解决方案文件夹中的 xaml 文件。在那里重命名。 这将重命名 xaml 和 xaml.cs 文件。它还将在后面的代码中重命名类
它不会重命名 xaml 文件中的类。这是您的 xaml 文件中的第一行。您需要手动重命名。
您可能还需要调整命名空间以保持一致性。这可能会触发其他错误消息。
有时这有点令人讨厌,因为编译器会为 xaml 文件生成代码。如果它无法编译并且您遇到很多奇怪的错误,请重新构建您的项目。
【讨论】: