Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在多级继承WPF C中调用构造函数#_C#_Wpf_Inheritance - Fatal编程技术网

C# 在多级继承WPF C中调用构造函数#

C# 在多级继承WPF C中调用构造函数#,c#,wpf,inheritance,C#,Wpf,Inheritance,在wpf窗口中调用基构造函数时遇到问题: public class TemplateWindow : Window //Template window class { public TemplateWindow (int no) { } } public partial class MainView : TemplateWindow { public MainView() : base(1) //error here { Initiali

在wpf窗口中调用基构造函数时遇到问题:

public class TemplateWindow : Window //Template window class
{
    public TemplateWindow (int no)
    {
    }
}

public partial class MainView : TemplateWindow
{
    public MainView() : base(1) //error here
    {
        InitializeComponent();
    }
}
它在指定的位置给了我一个错误,因为它显然试图用base调用窗口构造函数。MainView类是xaml窗口的代码隐藏

然而,当我像下面这样测试这个问题时,它工作得非常好

class A //Base Class
{
    public A() { }
}

class B : A
{
    public B(int no) { }
}

partial class C : B
{
    public C() : base(1) { }
}

我做错了什么?

您在XAML中定义了
MainView
类,不是吗?可能是这样的:

<Window x:Class="MyNamespace.MainView" ... >
    ...
</Window>
但这会给你带来另一个问题:现在,突然之间,你不能使用可视化设计器了

这是因为设计器无法创建
TemplateWindow
类的实例进行编辑。为什么?当然,因为
TemplateWindow
没有默认构造函数

因此,要使这类工作正常,您只需在
TemplateWindow
中定义两个构造函数——一个默认构造函数,另一个接受
int

祝你好运。

这是你的答案

你应该公布它给你的实际错误。同意w/Gabe;请发布堆栈跟踪。是的,我现在看到我的问题了。但我该如何应对呢?谢谢,它证实了费奥多尔·索金在上面发布的内容
<my:TemplateWindow 
    xmlns:my="MyNamespace" 
    x:Class="MyNamespace.MainView" ... >
    ...
</my:TemplateWindow>