【发布时间】:2011-02-23 20:14:45
【问题描述】:
我有一个'tickets'列表,它们都派生自抽象类TicketBase。
public abstract class TicketBase
{
public DateTime PublishedTime { get; set; }
public String TicketType { get; set; }
}
public class TicketA : TicketBase
{
public string PropertyA { get; set; }
}
public class TicketB : TicketBase
{
public string PropertyB { get; set; }
}
在我的主视图模型中,我查询数据库并返回 List<TicketBase> Tickets,按 PublishedTime 升序排列。
在我看来,我想要这样的东西:
Property A: <most recent value of PropertyA>
Property B: <most recent value of PropertyB>
所以我想有一个SummaryViewModel,我可以绑定到它具有如下属性:
public string LatestPropertyA { get; set; }
public string LatestPropertyB { get; set; }
在这些属性的设置器中,只需对 Tickets 集合执行 linq 查询,该集合会获取最顶层的票证,其中 TicketType 是相关类型并获得适当的属性。
有没有一种方法可以将 TicketType 作为绑定的一部分传递,还是需要在每个 setter 方法中硬编码类型?
另外,这是这种绑定方式的最佳方法吗,有没有更好的方法使用我不熟悉的 WPF 绑定的某些功能?
【问题讨论】:
标签: wpf data-binding binding