对于使用MvvmCross的iOS应用,我有一个主视图,它使用两种不同的视图模型来显示不同类型的信息。
视图控制器定义如下:
public partial class HomeViewController : MvxViewController<MainViewModel>
因此控制器使用MainViewModel
,顾名思义提供了该视图的大部分信息。
但是,视图的一部分需要一个名为InfoBoxesViewModel
的模型。所以我想创建一个绑定集来将UIView
绑定到该视图模型,如下所示:
var set = this.CreateBindingSet<HomeViewController, InfoBoxesViewModel>();
set.Bind(viewShowTime)
.For(v => v.Hidden)
.To(i => i.InfoBoxViewModel0.InfoBox.ShowTime)
.WithConversion<BoolToBoolConverterInverse2>()
.OneWay();
set.Apply();
然而,在启动应用时,Mvvmcross表示它无法在InfoBoxViewModel0
中找到MainViewModel
。因此,它不会在InfoBoxesViewModel
中搜索,而是在绑定集中作为源提供。
[WARN] (MvxBind) Unable to bind:
source property source not found Property:InfoBoxViewModel0 on MainViewModel
如何在视图控制器中使用此其他视图模型?