public TrackViewModel() { _trackCollectionView.Source = MediaPropertiesLibrary.Audio.Library.Library.Songs; TracksView.Filter += (item) => ((MediaPropertiesLibrary.Audio.Track)item).Name.ToLower().Contains(SearchText.ToLower()); TracksView.CustomSort = this; TracksView.Refresh(); OnPropertyChanged(nameof(TracksView)); PlayAudioTrack = track => Dispatch("Multiple Track Selected For Play", TracksView.Cast <TrackDefinition>(), TracksView.Cast <TrackDefinition>().ToList().FindIndex(o => o == track)); OrderByTime = new UiCommand(o => OrderByAffectation(OrderBy.Time)); OrderByArtist = new UiCommand(o => OrderByAffectation(OrderBy.Artist)); OrderByAlbum = new UiCommand(o => OrderByAffectation(OrderBy.Album)); OrderByTrack = new UiCommand(o => OrderByAffectation(OrderBy.Track)); }
private void OrderByAffectation(OrderBy order) { _orderInversion = _orderBy == order ? !_orderInversion : _orderInversion; _orderBy = order; TracksView?.Refresh(); }