我刚创建了一个新的WPF项目,但我决定对文件夹进行不同的组织,使它们看起来像这样:
所以我希望我的所有接口都在src
文件夹中。但是当我按F5并尝试运行它时,调试器说它找不到MainWindow.xaml
。 xaml看起来像这样:
的App.xaml
<Application x:Class="MyNamespace.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<Application.Resources>
</Application.Resources>
MainWindow.xaml
<Window x:Class="MyNamespace.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
</Grid>
显然他们共享相同的命名空间,但它没有找到MainWindow.xaml
...任何想法为什么?
App.xaml.cs
namespace MyNamespace.src
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
}
}
MainWindow.xaml.cs
namespace MyNamespace
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
}
答案 0 :(得分:3)
您的MainWindow
位于"scr"
文件夹中。
相对于项目的结构。
所以StartupUri = "scr\MainWindow.xaml"
应该有用。
答案 1 :(得分:1)
将startupuri更改为“src / MainWindow.xaml”,这适用于我的空项目。
此外,在App.xaml.cs中,您有namespace MyNamespace.src
,这可能不是您想要的(与其他人不匹配)。有时,当您创建子文件夹时,VS会自动附加到命名空间的末尾。