移动MainWindow.xaml

时间:2014-08-24 14:34:09

标签: c# wpf xaml

我已经构建了一个WPF应用程序,现在可以完全运行了。但是,为了清理它,我希望将MainWindow.xaml移动到我创建的视图文件夹中。完成此操作后,应用程序将无法运行,并且它为我提供了“未知构建错误”,但未提供有关如何修复它的任何信息...
我应该在MainWindow.xaml中更改哪些内容才能让应用再次正常运行?

我已经改变了

<Window x:Class="projectname.MainWindow">

<Window x:Class="projectname.view.MainWindow">

我是否应该更改其他内容?

3 个答案:

答案 0 :(得分:37)

除非您更改了类的命名空间,否则无需更新xaml文件中的类名。 您很可能还没有为 StartupUri 更新 App.xaml 。将其更改为:

StartupUri="view/MainWindow.xaml"

StartupUri="MainWindow.xaml"

答案 1 :(得分:2)

answer of @Rohit Vats非常好!

然而,这是一个值得记住的好点:您必须将所有绝对路径(在XAML中)更改为您的资源,并在/前加上它们以指示这些路径是相对root directory

示例:

来自<Image Source="Assets/Loading.gif">

<Image Source="/Assets/Loading.gif">等等。

答案 2 :(得分:2)

我自己刚刚遇到了这个。这是我所做的:

  1. 将您的 MainWindow.xaml 移至新文件夹。就我而言,它是 /Views。
  2. 我喜欢用它们的命名空间来命名我所有的类,以反映它们的文件夹。所以我的 MainWindow.xaml.cs 命名空间从 ProjectNamespace 变成了 ProjectNamespace.Views
  3. 在我的 MainWindow.xaml 中,我需要将 x:ClassProjectName.MainWindow 更改为 ProjectName.Views.MainWindow
  4. 在您的 App.xaml 中,更改 StartupUri 以反映文件夹。我从 StartupUri="MainWindow.xaml" 转到“StartupUri="Views/MainWindow.xaml"`

这样做使我能够编译和运行我的应用程序。