【发布时间】:2017-01-09 03:18:48
【问题描述】:
我对 C# 有点陌生,并在此处完成 MVVM 教程https://www.tutorialspoint.com/mvvm/mvvm_hierarchies_and_navigation.htm
我在使用 MainWindowViewModel 时遇到问题
class MainWindowViewModel : BindableBase {
public MainWindowViewModel( ) {
NavCommand = new MyICommand<string>(OnNav);
}
private CustomerListViewModel custListViewModel = new CustomerListViewModel( );
private OrderViewModel orderViewModelModel = new OrderViewModel( );
private BindableBase _CurrentViewModel;
public BindableBase CurrentViewModel {
get { return _CurrentViewModel; }
set { SetProperty(ref _CurrentViewModel, value); }
}
public MyICommand<string> NavCommand { get; private set; }
private void OnNav(string destination) {
switch (destination) {
case "orders":
//CurrentViewModel = orderViewModelModel;
break;
case "customers":
default:
//CurrentViewModel = custListViewModel;
break;
}
}
}
如果上面两行设置 CurrentViewModel 未注释,我无法构建应用程序。我得到:
无法将类型“MVVMHierarchiesDemo.ViewModel.OrderViewModel”隐式转换为“MVVMHierarchiesDemo.BindableBase”
无法将类型“MVVMHierarchiesDemo.ViewModel.CustomerListViewModel”隐式转换为“MVVMHierarchiesDemo.BindableBase”
我确实在前面的(tutorialspoint)教程中发现了一个错字/错误,但在层次结构教程中没有发现任何错误。
是否存在我在示例中没有看到的问题?
【问题讨论】:
-
你确定你让
CustomerListViewModel和OrderViewModel类派生自BindableBase吗? -
谢谢。一次有很多概念,我总是被小事卡住。
-
欢迎您。