最近在做wpf的项目,发现了一个奇怪的问题,花了很长时间才解决,在此记录一下。
问题: 主窗体调用子窗体使用的是ShowDialog(),有的子窗体可以正常调用,但是有的子窗体调用后会catch到异常:System.InvalidOperationException: 只能在隐藏窗口上调用 ShowDialog。
解决方法:经过深入分析后发现根本原因是子窗体中在构造函数中调用了this.show()。去掉this.show(),后在调用此子窗体不再报错。
最近在做wpf的项目,发现了一个奇怪的问题,花了很长时间才解决,在此记录一下。
问题: 主窗体调用子窗体使用的是ShowDialog(),有的子窗体可以正常调用,但是有的子窗体调用后会catch到异常:System.InvalidOperationException: 只能在隐藏窗口上调用 ShowDialog。
解决方法:经过深入分析后发现根本原因是子窗体中在构造函数中调用了this.show()。去掉this.show(),后在调用此子窗体不再报错。