C# 如何在wpf中的MVVM中使用2构造函数?

C# 如何在wpf中的MVVM中使用2构造函数?,c#,.net,wpf,oop,mvvm,C#,.net,Wpf,Oop,Mvvm,我想在WPF MVVM项目中使用不同的构造函数。第一种是以MDI形式使用的。但是,第二个构造函数的用法超过了另一个表单,它一直在向第二个表单发送参数。我如何使用它 public MyModelView() { InitializeComponent(); tlb.SelectVisibility = System.Windows.Visibility.Visible; } public MyModelView(MyViewModel test) { Initialize

我想在WPF MVVM项目中使用不同的构造函数。第一种是以MDI形式使用的。但是,第二个构造函数的用法超过了另一个表单,它一直在向第二个表单发送参数。我如何使用它

public MyModelView()
{
    InitializeComponent();
    tlb.SelectVisibility = System.Windows.Visibility.Visible;
}

public MyModelView(MyViewModel test)
{
    InitializeComponent();
    DataContext = test;
    tlb.SelectVisibility = test.Visibility;
}
我有两个构造器。但我在xaml端有一个datacontext。错误是

Xaml解析异常:“对与指定绑定约束匹配的类型“XYZ.AP.UI.ViewModel.MyViewModel”调用构造函数时引发异常。“行号“15”和行位置“6”。

<Windows:TransactionWindow.DataContext>
    <ViewModel:MyViewModel />
</Windows:TransactionWindow.DataContext>

不能使用XAML中的参数化构造函数。创建窗口时,可以通过在代码中设置窗口的
DataContext
来绕过此限制

但看起来您试图将
DataContext
设置为
MyViewModel
而不是
MyModelView
。这可能是您的异常的来源


顺便问一下,“ModelView”和“ViewModel”的名称是什么?这些看起来非常相似。。。而且这不是MVVM这个字母的意思

plz提供viewmodel的构造函数