C# 更改启动窗口

C# 更改启动窗口,c#,wpf,visual-studio-2012,C#,Wpf,Visual Studio 2012,我正在使用Visual Studio 2012 C#。我已经创建了一个带有主窗口的WPF应用程序项目,并在项目中添加了一个登录窗口。我想将启动窗口更改为我的登录窗口,但似乎无法这样做 我去了酒店,但我在那里看到的只是Myproject.app——它是否应该显示我项目的表单 无论如何,我尝试过从代码运行窗口,如下所示: Application.Run(new Login()); 但这似乎不起作用。它给出了一个错误的说法: 错误1非静态字段、方法或属性“System.Windows.Applica

我正在使用Visual Studio 2012 C#。我已经创建了一个带有主窗口的WPF应用程序项目,并在项目中添加了一个登录窗口。我想将启动窗口更改为我的登录窗口,但似乎无法这样做

我去了酒店,但我在那里看到的只是Myproject.app——它是否应该显示我项目的表单

无论如何,我尝试过从代码运行窗口,如下所示:

Application.Run(new Login());
但这似乎不起作用。它给出了一个错误的说法:

错误1非静态字段、方法或属性“System.Windows.Application.Run(System.Windows.Window)”需要对象引用


要更改启动窗口,请通过更改
Application.StartupUri
更新App.xaml:

<Application ... StartupUri="MainWindow.xaml">


使用Application.Current.Run而不是Application.Run

要以编程方式更改启动窗口,请转到
App.xaml
删除行
StartupUri=“MainWindow.xaml”
(这将删除默认的启动窗口配置),现在在
App.xaml.cs
中添加启动事件
startup=“应用程序启动”

private void Application_Startup(object sender, StartupEventArgs e)
{
  If(somecase)
   {
     MainWindow mainWindow = new MainWindow ();
     mainWindow.Show();
   }
  else
   {
     OtherWindow otherWindow= new OtherWindow();
     otherWindow.Show();
   }
}

如果窗口包含在子文件夹中,则需要使用相对路径。例如
“subfolder\MainWindow.xaml”
谢谢!现在,当我尝试打开主窗口时,出现静态错误:Application.Run(newmainwindow());你的代码中还有
应用程序。运行(…)
还是你删除了它?我删除了应用程序。运行(…)所以在
App.xaml
中,你删除了
应用程序。运行(…)
,它仍然在抱怨
主窗口
?!