我在WPF中有项目。
问题是,当我将App.xaml文件移动到子文件夹时,它不想编译,因为它找不到main方法。
如何强制Project启动应用程序,并在App.xaml文件中设置窗口作为StartUp Window?
我使用Visual Studio 2010 express。
编辑:
我的App.xaml
<Application x:Class="TraceabilityLoader.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="View/VmainWindow.xaml">
<Application.Resources>
</Application.Resources>
</Application>
项目中的子文件夹:
查看,模型,ViewModel等....
答案 0 :(得分:5)
我使用OnStartup使用自定义启动窗口解决此问题: App.xaml中
<Application x:Class="Pin.Visualisation.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Startup="OnStartup">
<Application.Resources>
</Application.Resources>
</Application>
App.xaml.cs
namespace Pin.Visualisation
{
public partial class App : Application
{
private void OnStartup(object sender, StartupEventArgs e)
{
var view = new MainWindow();
view.Show();
}
}
}
我的MainWindow存储在View / MainWindow中。它对你有用吗?
答案 1 :(得分:0)
包含主要方法(App.xaml
,App.xaml.cs
)的类必须位于启动项目的根目录中,才能自动检测它们。
如果您希望它们位于子文件夹中,则必须手动指定启动对象:
按照惯例,您的启动对象确实应该在根目录中。
答案 2 :(得分:0)
如果您只是想将App.xaml移动到子文件夹,因为您想组织结构。您可以将命名空间保留在第一级。
namespace WpfApplication3 <-----
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
}
}
如果不是,你必须像@Gusdor那样做
答案 3 :(得分:0)
好的,我找到了解决问题的方法。 将App.xaml移动到其他文件夹后,visual studio将Build Action从应用程序定义更改为Page。 改回来解决问题。