Run函数是启动一个应用程序的,执行到startup时,当前的应用程序已经启动了。
问一下我要以这种方式打开的话 怎么修改呢?
@md_Q: http://www.cnblogs.com/chillsrc/p/4471584.html刚网上搜的
@授之以渔: 你好 抱歉 跟我所提问题有些出入
@md_Q: startup事件是在当前的application对象的run方法被调用时触发的,当前application的run方法是wpf程序自动生成App.g.cs文件中的main函数中调用的。所以只要在wpf程序运行中不能调用run方法的,你的这个问题应该只是几个窗体的显示,其实你登录成功之后,只需要将主窗体显示就可以了。
@授之以渔: 非常感谢 热心回答 ,我如果没有调用过showdialog app.current.run是好使的
调用过一次然后 close 再app.current.run的话就出现截图中的错误了
shutdown也尝试过 还是不好使的
@md_Q: 那就不知道了,感觉run方法不能那么调用。close、showdialog都是window对象的。
设置Application的当前的主窗口。
可以参考一下堆栈信息。找到问题所在。
@专业代遛狗: ...show 一直好使 app.run 不好使的
@愤青愤青: 从调用堆栈可以看出,OnStartup 方法的执行顺序在Run方法之后的,手动调用 Application.Run 方法是没有意义的,这个方法是WPF自身调用的。
赞同2楼说法,用show就好了.
App.xaml中直接修改starturi属性,或者重写App类中的 OnStartup 下面以传参的为例子
protected override void OnStartup(StartupEventArgs e)
{
MainWindow mainWindow = new MainWindow(e.Args);
mainWindow.Show();
}