Mik*_*kel 1 wpf xaml user-controls mvvm
我需要一些帮助将viewModel绑定到我创建的两个usercontrol视图.
创建了一个应该包含这两个用户控件的预留窗口.
我得到了什么:
ReservationView(Window)类
public partial class ReservationView : Window
{
public ReservationView()
{
InitializeComponent();
//DataContext = null;
}
}
Run Code Online (Sandbox Code Playgroud)
ReservationListView(Usercontrol)类:
public partial class ReservationListView : UserControl, IViewReservationListViewModel
{
public ReservationListView(IViewReservationListViewModel viewModel)
{
InitializeComponent();
DataContext = viewModel;
}
}
Run Code Online (Sandbox Code Playgroud)
IViewReservationListViewModel只是一个空接口,它在usercontrol视图和viewModel之间建立联系.
ReservationListViewModel
public class ReservationListViewModel : INotifyPropertyChanged, IViewReservationListViewModel
{
public ReservationListViewModel()
{
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试在ReservationView中的xaml中设置本地:"usercontrol"时,我收到以下错误:
The type "ReservationListView" does not include any accessible constructors.
Run Code Online (Sandbox Code Playgroud)
当我使用MVVM时,如何将这两个usercontrol链接到相应的viewModel?
你通常会有一个MainViewModel
class MainViewModel
{
public ReservationListViewModel ReservationListViewModel { get; set; }
public ReservationDetailViewModel ReservationDetailViewModel { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
并会在你的XAML中使用它
<Window.DataContext>
<local:MainViewModel/>
</Window.DataContext>
<local:ReservationListView DataContext="{Binding ReservationListViewModel}"/>
<local:ReservationDetailView DataContext="{Binding ReservationDetailViewModel}"/>
Run Code Online (Sandbox Code Playgroud)
您的UserControls不需要任何带参数的构造函数.
归档时间: |
|
查看次数: |
5997 次 |
最近记录: |