Вот основные части программы, в которых, по-видимому, возникает исключение.C# 'System.StackOverflowException' в InitializeComponent()
using System.Drawing;
using Framework.pages;
namespace Framework
{
public partial class MainWindow : Window
{
public string status;
public MainWindow()
{
InitializeComponent(); // Unhandled exception here
InitializeTheme();
activationStep page = new activationStep();
page.loadPage();
}
// etc etc
Это абстрактный класс
namespace Framework.pages
{
abstract class template : MainWindow
{
public abstract void loadPage();
public abstract void loadTheme();
}
}
Это класс стадии активации
using System.Windows.Media;
namespace Framework.pages
{
class activationStep : template
{
public override void loadPage()
{
//this.loadTheme();
}
public override void loadTheme()
{
// Default green activation button
//activateButton.Background = (SolidColorBrush)new BrushConverter().ConvertFromString(Framework.theme.darkGreen);
//activateButton.BorderBrush = (SolidColorBrush)new BrushConverter().ConvertFromString(Framework.theme.borderGreen);
// Set form error color to red
//activationFormError.Foreground = System.Windows.Media.Brushes.Red;
}
// etc etc
Дело в том, если я закомментируйте эти две строки из класса MainWindow:
activationStep page = new activationStep();
page.loadPage();
Программа отлично работает, несмотря на то, что все в классе activationStep все равно прокомментировано (даже если они тоже не закомментированы)? Я просто совершенно незнаю, почему я получаю это особое исключение, так как определенно нет никаких интенсивных циклов или чего-то еще.
-Возможно отметить, что на самом деле в форму загружено не так много компонентов, и она работает нормально.
Пожалуйста, изучите MVVM до того, как вы когда-нибудь напишите одну строку кода в WPF. –