【问题标题】:How to rename WPF window file in Visual Studio?如何在 Visual Studio 中重命名 WPF 窗口文件?
【发布时间】:2021-07-02 09:04:35
【问题描述】:

是否可以在 Visual Studio 社区中重命名 WPF 窗口?这样做会破坏整个项目,因为似乎在其他一些地方使用了旧名称,而且很难追踪到它们。我知道的唯一方法是删除旧窗口并创建新窗口,同时从前一个窗口移动代码。但也许有更好的方法来做到这一点?

【问题讨论】:

    标签: c# wpf visual-studio


    【解决方案1】:

    它中断了,因为很可能,您没有重命名代码隐藏类。

    为此,您需要重命名Window.xaml.cs 中的类。

    因此,右键单击该类(应为Window)并适当地重命名。另外,还要重命名文件。

    另外,请确保在 XAML 中重命名后引用正确的类。

    所以分解一下:

    1. 重命名 XAML 文件。
    2. 确保代码隐藏文件和类已正确重命名。
    3. 确保在指定x:Class 属性的XAML 文件中应用该更改,例如。 x:Class="WpfTestApp.MainWindow"

    【讨论】:

    • 严格来说,重命名文件时不需要重命名类。为了确保 Visual Studio 仍然可以找到需要清理的文件,重命名文件后可能需要重新构建,因为生成的文件以及窗口和代码隐藏之间的绑定可能会以错误的名称缓存。跨度>
    • @EmondErno 嗯嗯,我通常这样做是为了保持清洁,但实际上你是对的。但我猜它会自动发生,导致 x:Class 属性不正确。
    • 当然!我坚持每个文件一个类,并使它们的名称相同。这是常见的做法和道理。
    • 重命名 XAML 文件会出于某种原因清除 .cs 文件。我正在使用 Resharper 插件。
    【解决方案2】:

    您必须确保在两个相关文件Window1.xaml 和Window1.xaml.cs 中,部分 Window1 类被同等重命名。 您还应该清除构建(在 VS-Menu 'Build'-> 'Clear Build')和/或手动删除项目的“Obj”文件夹。 Obj 文件夹中有生成的代码文件(如Application.g.cs 等)可能引用旧实体,然后导致这些问题。

    【讨论】:

      【解决方案3】:

      最佳策略是选择解决方案文件夹中的 xaml 文件。在那里重命名。 这将重命名 xaml 和 xaml.cs 文件。它还将在后面的代码中重命名类

      它不会重命名 xaml 文件中的类。这是您的 xaml 文件中的第一行。您需要手动重命名。

      您可能还需要调整命名空间以保持一致性。这可能会触发其他错误消息。

      有时这有点令人讨厌,因为编译器会为 xaml 文件生成代码。如果它无法编译并且您遇到很多奇怪的错误,请重新构建您的项目。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-07-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-13
        • 1970-01-01
        相关资源
        最近更新 更多