private MediaItemViewModel BuildMediaItemsTimelineMediaItemViewModel(IMediaItem mediaItem, MediaItemsTimelineViewModel mediaItemsTimelineViewModel, TrackViewModel trackViewModel) { return new MediaItemViewModel { MediaItem = mediaItem, MediaItemsTimelineViewModel = mediaItemsTimelineViewModel, TrackViewModel = trackViewModel }; }
private TrackViewModel BuildMediaItemsTimelineTrackViewModel(ITrack track, MediaItemsTimelineViewModel mediaItemsTimelineViewModel) { var trackViewModel = new TrackViewModel { MediaItems = new ObservableCollection<MediaItemViewModel>(), Track = track }; trackViewModel.DropHandler = new TrackViewModelDropHandler(trackViewModel); CollectionObserver.BindCollection(trackViewModel.MediaItems, track.MediaItems, mediaItem => BuildMediaItemsTimelineMediaItemViewModel(mediaItem, mediaItemsTimelineViewModel, trackViewModel)); return trackViewModel; }
private void BuildMediaItemsTimelineViewModel() { _mediaItemsTimelineViewModel = new MediaItemsTimelineViewModel { Tracks = new ObservableCollection<TrackViewModel>(), MillisecondsPerPixel = MillisecondsPerPixel }; CollectionObserver.BindCollection(_mediaItemsTimelineViewModel.Tracks, _tracks, track => BuildMediaItemsTimelineTrackViewModel(track, _mediaItemsTimelineViewModel)); }