private void MediaSegments_SegmentAdded(object sender, MediaSegmentEventArgs e) { Application.Current.Dispatcher.BeginInvoke((Action)(() => { _mediaSegments.Value.Add(new MediaSegmentViewmodel((Media as IPersistentMedia), e.Segment)); NotifyPropertyChanged(nameof(HasSegments)); })); }
private void _mediaSegments_SegmentAdded(object sender, MediaSegmentEventArgs e) { Application.Current.Dispatcher.BeginInvoke((Action) delegate() { IPersistentMedia media = _loadedMedia as IPersistentMedia; if (media != null && sender == media.MediaSegments) { var newVM = new MediaSegmentViewmodel(media, e.Segment); _mediaSegments.Add(newVM); if (e.Segment == _lastAddedSegment) { SelectedSegment = newVM; } } }); }
private void _mediaSegments_SegmentRemoved(object sender, MediaSegmentEventArgs e) { Application.Current.Dispatcher.BeginInvoke((Action)(() => { var segment = _mediaSegments.Value.FirstOrDefault(ms => ms.MediaSegment == e.Segment); if (segment != null) { _mediaSegments.Value.Remove(segment); } NotifyPropertyChanged(nameof(HasSegments)); if ((Media is IPersistentMedia) && (Media as IPersistentMedia).MediaSegments.Count == 0) { IsExpanded = false; } })); }
private void _mediaSegments_SegmentRemoved(object sender, MediaSegmentEventArgs e) { Application.Current.Dispatcher.BeginInvoke((Action) delegate() { IPersistentMedia media = _loadedMedia as IPersistentMedia; if (media != null && sender == media.MediaSegments) { var vM = _mediaSegments.FirstOrDefault(s => s.MediaSegment == e.Segment); if (vM != null) { _mediaSegments.Remove(vM); } if (_selectedSegment == vM) { SelectedSegment = null; } } }); }