首页 > 解决方案 > 启动时的基本 WPF 应用程序内存泄漏问题

问题描述

我正在努力提高我的 C# 知识,所以我正在尝试创建一个应用程序,它首先显示一个登录屏幕,如果输入管理员密码,它将打开 MainWindow。我已经在 WPF 中创建了登录页面,并输入了以下代码以首先显示登录屏幕:

public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();

            Window1 window1 = new Window1();

            window1.ShowDialog();
        }
    }
}

但是,这似乎对我不起作用。当我点击开始时,内存使用量从大约 80MB 开始,然后继续攀升到大约 280MB,然后它会因System.StackOverflowException而崩溃。

该应用程序也不会显示在屏幕上。

我究竟做错了什么?我只学习 WPF 和 C# 几个星期,因此非常感谢您的反馈。

标签: c#wpf

解决方案


删除这两行

Window1 window1 = new Window1(); 
window1.ShowDialog();

在 window1.ShowDialog() 中,您再次创建一个对象并调用 Window1,它进入无限循环,因此抛出 System.StackOverflowException


推荐阅读