1

我刚刚创建了一个新的 WPF 项目,但我决定对文件夹进行不同的组织,使它们看起来像这样:

在此处输入图像描述

所以我希望我所有的接口都在src文件夹中。但是当我按 F5 并尝试运行它时,调试器说它找不到MainWindow.xaml. xaml 看起来像这样:

应用程序.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>

主窗口.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......知道为什么吗?

应用程序.xaml.cs

namespace MyNamespace.src
{
    /// <summary>
    /// Interaction logic for App.xaml
    /// </summary>
    public partial class App : Application
    {
    }
}

主窗口.xaml.cs

namespace MyNamespace
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
    }
}  
4

2 回答 2

3

MainWindow"src"文件夹中。

StartupUri与您的项目结构有关。所以StartupUri = "src\MainWindow.xaml"应该工作。

于 2013-01-24T17:03:21.757 回答
1

将 startupuri 更改为“src/MainWindow.xaml”,这适用于我的空项目。

此外,在 App.xaml.cs 中,您有namespace MyNamespace.src,这可能不是您想要的(与其他不匹配)。有时,当您创建子文件夹时,VS 会自动附加到命名空间的末尾。

于 2013-01-24T17:05:09.763 回答