У меня есть список «билетов», которые все происходят из абстрактного класса 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
, упорядоченный вВ порядке возрастания ОпубликованоTimeTime.
На мой взгляд, я хочу получить что-то вроде:
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; }
и в установщиках этих свойств просто выполните запрос linq для коллекции Tickets
, которая получает самый верхний тикет, где TicketType является релевантным типом, и получает соответствующее свойство.
Есть ли способ, которым я могу передать TicketType как часть привязки, или мне нужно жестко закодировать тип в каждом из методов установки?
Кроме того, это лучший подход кэтот способ привязки, есть ли лучший способ использования какой-либо функции привязок WPF, с которой я не знаком?