将GridView ItemsSource和SelectedItem绑定到泛型类型

时间:2011-10-27 17:07:53

标签: c# silverlight-4.0

我正在使用Silverlight 4,RIA服务,MEF和MVVM。

我正在尝试创建系统配置更新页面,以便我可以轻松更新查找表。 我有一个RadGridView,我希望显示它并从多个实体添加新记录。 我想使用以下内容:

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

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

由于我想使GridView可写,我无法将ItemsSource绑定到CollectionViewSource.View - 我已经在其中我的gridview是ReadOnly的其他实例中完成了。 我希望GenericEntityList是一个ObservableCollection或未知实体类型的列表,直到我选择一个给定的实体类型。 例如,如果我想使用相同的网格编辑销售和产品,我如何推迟制作类型的GenericEntityType,或者直到我选择销售或产品?

很长的方法是在代码隐藏中动态添加ItemsSource和SelectedItem属性。问题是我有大约25个不同的实体,由于缺少更好的词,这将是“不整洁的”。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

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

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

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