コード例 #1
0
        private void searchBox_TextChanged(object sender, TextChangedEventArgs e)
        {
            if (viewModel == null)
            {
                return;
            }

            foreach (VMSong song in searchedSongs)
            {
                song.RestorePrevState();
            }
            searchedSongs.Clear();

            if (searchBox.Text.Length < 2)
            {
                return;
            }

            foreach (object song in listView.Items)
            {
                ListViewItem listViewItem = listView.GetItemFromData(song);
                if (listViewItem == null)
                {
                    continue;
                }

                VMSong s = song as VMSong;
                if (s.Title.ToLower().Contains(searchBox.Text.ToLower()))
                {
                    s.MakeSearchedState();
                    searchedSongs.Add(s);
                }
            }
        }
コード例 #2
0
        private void InitEntries()
        {
            entryControls = new List <PropertyControl>();

            entryControls.Add(propertyControl1);
            entryControls.Add(propertyControl2);
            entryControls.Add(propertyControl3);
            entryControls.Add(propertyControl4);
            entryControls.Add(propertyControl5);

            viewModel = new VMSong();
            SetPropertyControlBinding(propertyControl1, nameof(viewModel.Title));
            SetPropertyControlBinding(propertyControl2, nameof(viewModel.Artist));
            SetPropertyControlBinding(propertyControl3, nameof(viewModel.Album));
            SetPropertyControlBinding(propertyControl4, nameof(viewModel.Year));
            SetPropertyControlBinding(propertyControl5, nameof(viewModel.Genre));
        }
コード例 #3
0
        protected override void AddData(int insertIndex, List <VMPlaylist> items)
        {
            int count = Items.Count;

            foreach (object o in items)
            {
                if (o is VMPlaylist)
                {
                    playlistManager.AddPlaylistFromFile(count, o as Playlist);
                }
                if (o is VMSong)
                {
                    VMSong s = o as VMSong;
                    playlistManager.AddPlaylistFromFile(count, s.Filepath);
                }
            }
        }
コード例 #4
0
        private void EditTagsTracklistContext_Click(object sender, RoutedEventArgs e)
        {
            VMSong item = viewModel.Items[listView.PreContextIndex] as VMSong;

            if (item == null)
            {
                return;
            }

            AlbumArtControl id3control = new AlbumArtControl();

            id3control.infoControl.viewModel.SetSong(item.CurrentSong);
            Window w = AlbumArtControl.CreateWindowHostingUserControl(id3control, 250, 250);

            id3control.SetWindow(w);
            w.Owner = MainControl.Current.window;
            w.Show();
        }
コード例 #5
0
        internal void FindTracklistContext_Click(object sender, RoutedEventArgs e)
        {
            VMMusicFiles mf   = playlistControlParent.vm.musicFileManager;
            ListViewItem item = listView.GetListViewItem(listView.PreContextIndex);

            if (item == null)
            {
                return;
            }

            VMSong           vmsong = item.DataContext as VMSong;
            MusicFileControl mfc    = playlistControlParent.mainFileControl.musicFileControl;

            playlistControlParent.mainFileControl.ShowMusicFiles();
            mfc.treeView.UnselectAll();
            mfc.ResetSearchState();
            mf.FindFile(vmsong.Filepath);
        }