I need some help binding the viewModel to the two usercontrol views I have created.
Have created a Reservation Window that should contain these two usercontrols.
What i got:
- ReservationView (Window)
- ReservationListView (Usercontrol)
- ReservationDetailView (Usercontrol)
ReservationView (Window) class
public partial class ReservationView : Window
{
public ReservationView()
{
InitializeComponent();
//DataContext = null;
}
}
ReservationListView (Usercontrol) class:
public partial class ReservationListView : UserControl, IViewReservationListViewModel
{
public ReservationListView(IViewReservationListViewModel viewModel)
{
InitializeComponent();
DataContext = viewModel;
}
}
The IViewReservationListViewModel is just a empty interface which makes the contact between the usercontrol view and the viewModel.
ReservationListViewModel
public class ReservationListViewModel : INotifyPropertyChanged, IViewReservationListViewModel
{
public ReservationListViewModel()
{
}
}
When I try to set the local:"usercontrol" in the xaml inside ReservationView, I get the following error:
The type "ReservationListView" does not include any accessible constructors.
How should I link those two usercontrol to the respective viewModels when I use MVVM?
Best Answer
You would usually have a MainViewModel like
and would use it in your XAML like
Your UserControls wouldn't need any constructors with parameters.