构造函数无效,因为无法解析参数
Constructor is not valid because parameter cannot be resolved
这是另一个。
我有两个 ViewModel:MainViewModel
和 ConnectionViewModel
以及两个视图:MainWindow
和 ConnectionView
自动绑定效果很好,每个视图模型都转到它的视图。
问题是 ConnectionViewModel
在其构造函数中采用了 Connection
模型参数。所以当它被实例化的时候,我在输出中得到这条消息 window (感谢记录器):
构造函数无效,因为参数 'connection' 无法从依赖项解析器解析
public ConnectionViewModel(Connection connection, IMessageService messageService, IAnotherService anotherService)
因此在 ConnectionViewModel
.
中得到一个 null Connection
我可能错过了(几个)步骤。模型不是应该用视图模型创建的吗?我是否必须事先实例化它,如果是,在哪里?还是我必须先注册?
好的,我明白我错过了什么。
嵌套UserControls的用法本来是关于列表的;从这个角度来看,您的父 ViewModel 包含模型的集合 属性 是有意义的。
因为我只有一个Connection
,而不是一个列表,并且想把所有东西分开干净,所以我没有考虑在我的MainViewModel
中放一个Connection
,但是您仍然需要 将 属性 绑定为 XAML.
中的 UserControl 的 DataContext
我的 MainWindow.xaml 中有 <views:ConnectionView />
,MainViewModel
中几乎没有。
我需要的是在 MainViewModel 中有一个 Connection
属性:
public class MainViewModel : ViewModelBase
{
public MainViewModel(IMessageService)
{
Connection = new Connection();
}
public Connection Connection
{
get { return GetValue<Connection>(ConnectionProperty); }
set { SetValue(ConnectionProperty, value); }
}
public static readonly PropertyData ConnectionProperty = RegisterProperty("Connection", typeof(Connection));
/*...*/
}
和 xaml 中的绑定:
<views:ConnectionView DataContext="{Binding Connection}"/>
这是另一个。
我有两个 ViewModel:MainViewModel
和 ConnectionViewModel
以及两个视图:MainWindow
和 ConnectionView
自动绑定效果很好,每个视图模型都转到它的视图。
问题是 ConnectionViewModel
在其构造函数中采用了 Connection
模型参数。所以当它被实例化的时候,我在输出中得到这条消息 window (感谢记录器):
构造函数无效,因为参数 'connection' 无法从依赖项解析器解析
public ConnectionViewModel(Connection connection, IMessageService messageService, IAnotherService anotherService)
因此在 ConnectionViewModel
.
Connection
我可能错过了(几个)步骤。模型不是应该用视图模型创建的吗?我是否必须事先实例化它,如果是,在哪里?还是我必须先注册?
好的,我明白我错过了什么。
嵌套UserControls的用法本来是关于列表的;从这个角度来看,您的父 ViewModel 包含模型的集合 属性 是有意义的。
因为我只有一个Connection
,而不是一个列表,并且想把所有东西分开干净,所以我没有考虑在我的MainViewModel
中放一个Connection
,但是您仍然需要 将 属性 绑定为 XAML.
我的 MainWindow.xaml 中有 <views:ConnectionView />
,MainViewModel
中几乎没有。
我需要的是在 MainViewModel 中有一个 Connection
属性:
public class MainViewModel : ViewModelBase
{
public MainViewModel(IMessageService)
{
Connection = new Connection();
}
public Connection Connection
{
get { return GetValue<Connection>(ConnectionProperty); }
set { SetValue(ConnectionProperty, value); }
}
public static readonly PropertyData ConnectionProperty = RegisterProperty("Connection", typeof(Connection));
/*...*/
}
和 xaml 中的绑定:
<views:ConnectionView DataContext="{Binding Connection}"/>