我建了一个UserControl控件,里面有个按钮,这个按钮写了个弹出窗体的代码:
MainWindow m = new MainWindow(); //这是一个window窗体不是UserControl
m.ShowDialog();
我运行时,第一次点按钮弹出新窗体,没问题,然后关闭新窗体,再次点击按钮,此时自动退出了,窗体也都关闭了,请问这是咋回事
都是wpf应用程序
用f5的方式调试程序,不要用ctrl+f5直接运行,如果报错会有提示。
另外要看你的完整代码,作为UI线程,如果主窗体关闭,程序就终止了。
把详细代码贴出来看看
第一个UserControl: 一个按钮, private void Button_Click(object sender, RoutedEventArgs e)
{
MainWindow m = new MainWindow();
m.Show();
}
第二个窗体也就是MainWindow .xmal窗体
基本没什么东西,就是一个构造函数
public MainWindow()
{
InitializeComponent();
LocationChanged += new EventHandler(MainWindow_LocationChanged);
SizeChanged += new SizeChangedEventHandler(MainWindow_SizeChanged);
_featureClassMap = new Hashtable();
}
还有一个Load加载处理
private void Grid_Loaded(object sender, RoutedEventArgs e)
{
//初始化RenderControl控件
_renderControlManager = new RenderControlManager(axRenderControlMain);
// 注册控件拾取事件
axRenderControlMain.RcMouseClickSelect += axRenderControl_RcMouseClickSelect;
axMxDrawXName.Visibility = System.Windows.Visibility.Hidden;
//axRenderControlName.Visibility = System.Windows.Visibility.Hidden;
axMxDrawX1.OpenDwgFile(@"D:\TFSWokeSpace_2015\BIM知识库管理系统\三维数字楼宇系统\Blocks\3DDigitalBuilding\Bin\Client\BuildingManage\Media\ceshi.dwg");
}
在你的代码最外面添加上try catch,然后再catch中看看你发生了什么异常。