Caliburn Micro - 从Model类的ItemSsource绑定自动创建View Model对象?

时间:2011-07-11 13:40:35

标签: c# silverlight xaml mvvm caliburn.micro

在绑定到模型对象集合时,Caliburn Micro是否可以在视图和模型之间注入ViewModel对象?

例如,如果我的IShellViewModel具有以下属性:

IEnumerable<Foo> Foos { get; set; }

和ShellView.xaml中的ListBox

<ListBox x:Name="Foos"/>

哪个会使用FooView呈现列表框项目。 Caliburn可以为View绑定一个IEnumerable的集合吗?或者我必须在原始模型的IEnumerable旁边创建一个IEnumerable的并行集合。

1 个答案:

答案 0 :(得分:1)

我不太确定你在问什么,当你说'哪个会使用FooView渲染列表框项'时,你的意思是你有1个视图呈现所有项目,或每个项目的视图?

如果是后者,那么Caliburn.Micro有一个约定,如果你有一组视图模型(例如IEnumerable<FooViewModel>)绑定到ItemsControl,那么它将搜索{{1对于每个项目,并自动将定位的视图绑定到该项目的视图模型。

如果你问Caliburn.Micro是否可以从你的模型类型中自动生成ViewModel类型,那么没有。它如何知道要暴露的属性?通常,视图模型会重塑并增强模型的功能,包括特定于特定UI技术的表示逻辑。