UWP / MVVM:将ListView绑定到来自ObservableCollection <parent>的子对象

时间:2016-05-13 17:55:10

标签: c# mvvm binding win-universal-app observablecollection

目标

我在 AddSubscriptionIndividualViewModel 中有一个ObservableCollection,它可能包含基类对象的混合衍生物。

  • 基本类型为Subscription
  • 派生类型可以是IndividualSubscriptionCorporateSubscription

现在,我想将 AddSubscriptionIndividualView 中的<ListView/>控件绑定到此ObservableCollection,但仅限于一个特定的对象类型,例如。 IndividualSubscription个对象。

问题

我可以让<ListView/>显示基类对象的属性,但我无法访问派生类对象的属性,这是有道理的,因为ObservableCollection是基本类型列表。我真的不确定如何继续。

架构和项目文件

  • 查看: AddSubscriptionIndividualView.xaml
  • ViewModel: AddSubscriptionIndividualViewModel.cs
  • 目录: SubscriptionCatalog.cs
  • (相关)型号:请参阅下面的设计类图 Design Model Diagram

The project files (GitHub)

编辑:

到目前为止,我找到了一种让<ListView>显示数据的方法。只是不确定它是否是最佳方式。它可能是糟糕的设计,因为我不得不告诉&#34;关于模型的看法。我想这会使耦合变低。无论如何,我做的是在视图xmlns:data="using:SportzMagazine.Models"中引用了模型,然后在<DataTemplate>中将x:DataType属性设置为例如。 x:DataType="data:IndividualSubscription"

0 个答案:

没有答案