我正在尝试创建一个从表单继承的表单。基类称为Window,它继承自MetroForm,这是我已下载并安装在项目中的 NuGet 包。此表单在设计器中加载没有问题。
public partial class Window : MetroForm
{
public WindowType windowType { get; }
public Engine engine { get; }
public Window(WindowType windowType, Engine engine)
{
InitializeComponent();
this.windowType = windowType;
this.engine = engine;
}
}
Run Code Online (Sandbox Code Playgroud)
子窗体的声明和构造如下:
public partial class GraphicsWindow : Window
{
public GraphicsWindow(WindowType windowType, Engine engine) : base(windowType, engine)
{
InitializeComponent();
}
}
Run Code Online (Sandbox Code Playgroud)
它在设计器窗口中引发以下错误:
“未找到类型 'DispatcherDesk.Windows.Window' 的构造函数。”
我发现多个线程在完全相同的情况下解决了这个错误,但没有一个解决方案对我有用。我已经尝试向父窗体和子窗体添加无参数构造函数,添加InitializeComponent();对它们的调用,并使用[Obsolete]属性和private访问修饰符。我还尝试在每一步重建解决方案并重新启动 Visual Studio。
目前我能想到的是,这些解决方案在 VS2017 中不再有效,但我不知道为什么。提前感谢您的任何答案!