MvvmCross:如何为视图使用不同的视图模型?

时间:2018-06-08 15:10:12

标签: mvvmcross

对于使用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

如何在视图控制器中使用此其他视图模型?

0 个答案:

没有答案