2011-10-27 29 views
0

我正在使用Silverlight 4,RIA Service,MEF和MVVM。将GridView的ItemsSource和SelectedItem绑定到泛型类型

我想创建一个系统配置更新页面,以便我可以轻松地更新我的查找表。 我有一个RadGridView,我希望显示和添加来自多个实体的新记录。 我想用下面的:

ItemsSource="{Binding Path=GenericEntityList, Mode=TwoWay}" 

SelectedItem="{Binding Path=SelectedEntity, Mode=TwoWay}" 

因为我想让GridView控件可写的,我不能绑定的ItemsSource到CollectionViewSource.View -as我在其他情况下都做在我的GridView控件是只读的。 我想让GenericEntityList成为一个ObservableCollection或未知实体类型列表,直到我选择了一个给定的实体类型。 例如,如果我想用同一个网格编辑销售和产品,我如何推迟制作GenericEntityType类型或直到我选择销售或产品后?

要做到这一点的很长一段路要在代码隐藏中动态添加ItemsSource和SelectedItem属性。问题是我有大约25个不同的实体,因为缺少一个更好的单词,这将是'不整齐'。

有什么建议?

回答

1

您可能需要阅读动态关键字例如

ObservableCollection<dynamic> dynamicList = new ObservableCollection<dynamic>(); 

但是,我不确定是否所有第三方网格都支持绑定到动态数据。或者,您的查找对象可能不实现通用接口?