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

本文关键字:绑定 泛型类型 SelectedItem GridView ItemsSource | 更新日期: 2023-09-27 18:12:40

我使用Silverlight 4, RIA Service, MEF和MVVM。

我试图创建一个系统配置更新页,所以我可以很容易地更新我的查找表。我有一个RadGridView,我希望显示和添加来自多个实体的新记录。我想使用以下语句:

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

因为我想使GridView可写,我不能绑定ItemsSource到CollectionViewSource。视图-正如我在其他情况下所做的,我的gridview是只读的。我想要GenericEntityList是一个ObservableCollection或未知实体类型的列表,直到我选择给定的实体类型。例如,如果我想用相同的网格编辑销售和产品,我怎么能推迟制作GenericEntityType的类型,或者直到我选择销售或产品之后?

要做到这一点,一个很长的方法是在代码后面动态地添加ItemsSource和SelectedItem属性。问题是我有大约25个不同的实体,这将是"不整洁",因为没有一个更好的词。

有什么建议吗??

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

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

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

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