- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个wpf应用程序,并创建了一个登录窗口,该窗口用于构建应用程序的连接字符串。我在关闭第一个对话框并在其后面旋转打开MainWindow时遇到问题。我认为close事件正在从登录对话框中冒出,并卡在MainWindow中,因为一旦我在代码背后创建MainWindow对象并调用Show(),它就会直接移过Startup事件处理程序,然后移入我的构造函数中,然后MainWindow的onClosing处理程序,而不显示窗口本身。 app.xaml具有指定的ShutdownMode =“OnMainWindowClose”。
private void Application_Startup(object sender, StartupEventArgs e)
{
try
{
Chooser thechooser = new Chooser();
thechooser.ShowDialog();
}
catch (Exception ex)
{
}
//initialize datalayer
dataLayer = new Mxxx41.DAL(this.CurrentConnectionString);
MainWindow appmainwindow = new MainWindow();
Application.Current.MainWindow = appmainwindow;
appmainwindow.Activate();
appmainwindow.Show();
}
private void LogInButton_Click(object sender, RoutedEventArgs e)
{
//get ip from listbox selection
XmlElement currentelement = (XmlElement)Listbox.SelectedItem;
string ip = ((string)currentelement.Attributes["IP"].Value);
string instancename = string.Empty;
if (!((string)currentelement.Attributes["InstanceName"].Value == string.Empty))
{
instancename = ((string)currentelement.Attributes["InstanceName"].Value);
}
//ping that IP
Boolean pingresult = ping.PingHost(ip);
Boolean sqlresult = false;
if (pingresult)
{
if (!(String.IsNullOrEmpty("instancename")))
{
ip = string.Format("{0}\\{1}", ip, instancename);
}
//build connection string with that IP
string connstr = BuildConnStr(ip);
//create datalayer
Mxxx41.DAL datalayer = new Mxxx41.DAL(connstr);
//validate credentials
DataSet data = datalayer.getDataSet("login_checkcredentials", CommandType.StoredProcedure, datalayer.CreateParameter("@username", SqlDbType.VarChar, this.UsernameTextbox.Text), datalayer.CreateParameter("@password", SqlDbType.VarChar, this.PasswordTextbox.Text));
if (data.Tables[0].Rows.Count > 0)
{
sqlresult = true;
//log in user
//build new user code omitted for brevity
App myAppReference = ((App)Application.Current);
myAppReference.CurrentUser = thisuser;
myAppReference.CurrentConnectionString = connstr;
//close window
this.Close(); //this is the close event I think is causing issues.
}
}
else
{
ErrorLabel.Content = string.Format("{0}{1}", "could not ping selected Host :", ip);
}
//return true
}
public MainWindow(){
this.InitializeComponent();
this.SideBarExpander.IsExpanded = true;
this.Loaded += onLoaded;
this.Closed += onClosed;
this.Closing += onClosing;
try
{
//this.DataLayer = ((Mxxx41.DAL)MyDemoApp.App.Current.Properties["DataLayer"]);
App myAppReference = ((App)Application.Current);
this.DataLayer = myAppReference.GetDataLayer();
}
catch //catch everything for the moment
{
this.DataBaseConnectionError = true;
}
ExceptionList = new List<Error>();
}
最佳答案
问题可能出在ShutdownMode="OnMainWindowClose"
上。 Wpf认为打开的第一个窗口是“主窗口”。在您的情况下,wpf将登录窗口视为主窗口,并在关闭时退出应用程序。
尝试将关闭模式更改为OnLastWindowClose
或OnExplicitShutdown
。
从MSDN:
OnMainWindowClose :当主窗口关闭或调用Shutdown时,应用程序关闭。
OnExplicitShutdown :仅当调用Shutdown时,应用程序才会关闭。
关于wpf- Application_Startup-加载对话框窗口然后进入主窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3738032/
我有一个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”设置为该窗口,则当
我是一名优秀的程序员,十分优秀!