- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个 WPF 应用程序,在 App.cs
文件中有两个方法 Application_Startup
和 Application_Exit
,它们挂接到 Startup
和 Exit
分别是应用程序的事件。下面是这两种方法的实现:
private void Application_Startup(object sender, StartupEventArgs e)
{
try
{
if (LoginModel.TryLoginUsingSavedCredentials())
{
MainView view = new MainView();
view.Show();
}
else
{
LoginView loginView = new LoginView();
var result = loginView.ShowDialog();
if (result.HasValue && result.Value)
{
MainView view = new MainView();
view.Show();
}
}
}
catch (FaultException ex)
{
Views.MessageBox.ShowMessage("Login failed",
string.Format("Unabled to login.\r\n{0}", ex.Message),
Entities.Enums.DialogType.OK,
Entities.Enums.DialogIcon.Error);
}
}
private void Application_Exit(object sender, ExitEventArgs e)
{
ConnectionFactory.Instance.CloseAllProxyChannels();
}
当我运行应用程序时,如果 LoginModel.TryLoginUsingSavedCredentials()
返回 false,则显示 LoginView
。现在,我在 if(result.HasValue ...)
处设置了一个断点,然后我介入。MainView
被创建并且 view.Show()
被执行,但是,调试器箭头立即跳转到 Application_Exit
方法,应用程序终止。我没有看到任何异常、输出错误、转储文件等。
奇怪的是,如果我注释掉 Application_Startup
中的所有逻辑并只添加这两行:
MainView view = new MainView();
view.Show();
然后应用程序就可以正常工作了。知道可能出了什么问题吗?提前致谢。
最佳答案
可能是自动关闭,因为您实际上关闭了最后一个窗口。您可以在获取凭据时尝试将 Application.ShutdownMode
更改为 OnExplicitShutdown
。
(您也可以将其永久设置为OnMainWindowClose
,并将Application.MainWindow
设置为您的主视图)
关于c# - 应用程序在执行 Application_Startup() 后立即终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18281214/
我有一个wpf应用程序,并创建了一个登录窗口,该窗口用于构建应用程序的连接字符串。我在关闭第一个对话框并在其后面旋转打开MainWindow时遇到问题。我认为close事件正在从登录对话框中冒出,并卡
我刚刚开始WPF。我从后面的代码分配startupURI页面。它给了我这个错误: Cannot locate resource 'application_startup'" 这是我在App.xaml中
我有一个 WPF 应用程序,在 App.cs 文件中有两个方法 Application_Startup 和 Application_Exit,它们挂接到 Startup 和 Exit 分别是应用程序的
我有这么一小段代码。 private void Application_Startup(object sender, StartupEventArgs e) {
我正在尝试运行一个宏,在 Outlooks 启动时将今天之前收到的电子邮件移动到一个文件柜文件夹。问题在于Application_Startup事件处理程序在 Outlook 完全加载和文件夹同步之前
我在一个项目中有一个 WPF 窗口,其中包含一个 XAML 文件和关联的 C# 代码隐藏文件。如果我将 App.xaml 中的“StartupUri=MainWindow.xaml”设置为该窗口,则当
我是一名优秀的程序员,十分优秀!