Создание моделей представления на основе вложенных объектов модели в WPF и шаблоне MVVM

У меня проблема с пониманием того, как строить модели представления на основе следующих моделей

(я упростил модели, чтобы сделать их более понятными)

public class Hit
{
   public bool On { get; set;}
   public Track Track { get; set; }
}
public class Track
{
   public ObservableCollection<Hit> Hits { get; set; }
   public LinearGradientBrush Color { get; set; }
   public Pattern Pattern { get; set; }
}
public class Pattern
{
   public string Name { get; set; }
   public ObservableCollection<Tracks> Tracks { get; set; }
}

Теперь моя проблема в том, как для построения ViewModels ...

Мне нужно сохранить исходные отношения между моделями, потому что у меня есть метод Serialize () в шаблоне, который сериализует его в файл XML .. (с соответствующими треками и совпадениями)

Чтобы иметь возможность привязать шаблон к пользовательским элементам управления и его вложенным шаблонам, я также должен иметь PatternViewModel с ObservableCollection в нем, то же самое для TrackViewModel и HitViewModel .. и я не могу иметь настраиваемые свойства представления на модели представления, которые не являются частью бизнес-объекта (цвета и т. д.) и отслеживание всех этих отношений при кодировании моделей представления также гораздо более подвержено ошибкам.

У кого-нибудь есть лучший подход / решение?

12
задан BFil 22 November 2010 в 10:02
поделиться