C# 如何在主应用程序窗口之后直接打开窗口

C# 如何在主应用程序窗口之后直接打开窗口,c#,.net,wpf,xaml,app.xaml,C#,.net,Wpf,Xaml,App.xaml,我的应用程序的主UI位于MainWindow.xaml中 首先,是什么导致这个窗口成为应用程序启动时打开的窗口。它似乎没有被定义为“启动对象”,也没有任何代码专门启动此窗口 当应用程序启动时,我可以在MainWindow.xaml的加载事件中定义一个新的“login.xaml”并告诉它显示为对话框,使我的登录窗口出现。但是,如果我这样做,那么在登录关闭之前,主窗口不会出现 我想实现的是,当我的应用程序启动时,会出现主窗口,然后在主窗口的顶部,会以模式显示登录窗口 如何做到这一点?一种方法是将加载

我的应用程序的主UI位于MainWindow.xaml中

首先,是什么导致这个窗口成为应用程序启动时打开的窗口。它似乎没有被定义为“启动对象”,也没有任何代码专门启动此窗口

当应用程序启动时,我可以在MainWindow.xaml的加载事件中定义一个新的“login.xaml”并告诉它显示为对话框,使我的登录窗口出现。但是,如果我这样做,那么在登录关闭之前,主窗口不会出现

我想实现的是,当我的应用程序启动时,会出现主窗口,然后在主窗口的顶部,会以模式显示登录窗口


如何做到这一点?

一种方法是将
加载的事件处理程序添加到主窗口中,并在该窗口中显示登录窗口:

this.Loaded += LoadedEventHander;


void LoadedEventHander(object sender, RoutedEventArgs e)
{
    // Show Login.xaml here.
}

一种方法是将
加载的
事件处理程序添加到主窗口,并在其中显示登录窗口:

this.Loaded += LoadedEventHander;


void LoadedEventHander(object sender, RoutedEventArgs e)
{
    // Show Login.xaml here.
}
  • 在app.xaml中,下一行定义了启动窗口,如果需要,可以对其进行更改

    StartupUri="MainWindowView.xaml"
    
  • 如果您遵循MVVM,则可以使用System.windows.Interactivity将命令绑定到windows加载的事件(否则只需按照其他人的建议创建事件处理程序)

    
    
  • 在app.xaml中,下一行定义了启动窗口,如果需要,可以对其进行更改

    StartupUri="MainWindowView.xaml"
    
  • 如果您遵循MVVM,则可以使用System.windows.Interactivity将命令绑定到windows加载的事件(否则只需按照其他人的建议创建事件处理程序)

    
    
  • 在VS中创建项目时,默认情况下,
    App.xaml
    中定义了
    main窗口的启动:

    <Application ...
                 StartupUri="MainWindow.xaml">
        <Application.Resources>
    
        </Application.Resources>
    </Application>
    
    private void Window\u已加载(对象发送方,路由目标)
    {
    新建LoginDialog().ShowDialog();
    }
    
  • 在VS中创建项目时,默认情况下,
    App.xaml
    中定义了
    main窗口的启动:

    <Application ...
                 StartupUri="MainWindow.xaml">
        <Application.Resources>
    
        </Application.Resources>
    </Application>
    
    private void Window\u已加载(对象发送方,路由目标)
    {
    新建LoginDialog().ShowDialog();
    }