问题:如何使用MVVM Light和Blend将嵌套IEnumberable的RIA IEnumerable绑定到Silverlight控件?MVVM Light绑定到RIA IEnumerable
设置:我已经设置了RIA服务来使用一个简单的Entity Framework模型,该模型有两个实体Category和Activity;每个类别可以包含许多活动。 域服务有一个功能GetCategoriesWithActivities()返回:
return this.ObjectContext.Categories.Include("Activities");
模型使用DataContext.Load来执行查询,并返回其具有实体属性,该属性是一个IEnumberable一个LoadOperation。由于查询包含活动,所以还有一个嵌套的IEnumerable。使用Visual Studio的调试器,我可以看到数据正在IEnumerable中返回。
My ViewModel将返回的IEnumerable公开为公共属性。使用MVVM Light,ViewModel被设置为模型的DataContext。
当我尝试将数据绑定到IEnuberable时,类别的成员不可用,不提及嵌套活动的成员。
问题:什么数据类型应该我的ViewModel公开,以便我可以绑定到类别和嵌套的活动?如何将IEnumerable转换为该类型?我想使用原始的RIA类别和活动对象,以便更改跟踪可以正常工作。 PS:我忘了提及我的最终目标是将类别和活动IEnumerables绑定到Accordion控件。