/// <summary>
        /// Creates a dialog for generating a random playlist.
        /// </summary>
        /// <param name="filterFunc">The function which determines if a track matches a filter.</param>
        public GeneratePlaylist(ViewDetailsSearchDelegate filterFunc)
        {
            filterMatches = filterFunc;
            InitializeComponent();

            foreach (PlaylistData p in SettingsManager.Playlists)
            {
                Lists.Items.Add(new ComboBoxItem() { Content = p.Name });
            }

            if (SettingsManager.CurrentSelectedNavigation.StartsWith("Playlist:"))
            {
                string name = SettingsManager.CurrentSelectedNavigation.Split(new[] { ':' }, 2)[1];
                foreach (ComboBoxItem cbi in Lists.Items)
                    if ((string)cbi.Content == name)
                    {
                        cbi.IsSelected = true;
                        break;
                    }
            }
            else
            {
                Lists.SelectedIndex = 0;
                Lists_SelectionChanged(null, null);
            }
        }
        /// <summary>
        /// Creates a dialog for generating a random playlist.
        /// </summary>
        /// <param name="filterFunc">The function which determines if a track matches a filter.</param>
        public GeneratePlaylist(ViewDetailsSearchDelegate filterFunc)
        {
            filterMatches = filterFunc;
            InitializeComponent();

            foreach (PlaylistData p in SettingsManager.Playlists)
            {
                Lists.Items.Add(new ComboBoxItem()
                {
                    Content = p.Name
                });
            }

            if (SettingsManager.CurrentSelectedNavigation.StartsWith("Playlist:"))
            {
                string name = SettingsManager.CurrentSelectedNavigation.Split(new[] { ':' }, 2)[1];
                foreach (ComboBoxItem cbi in Lists.Items)
                {
                    if ((string)cbi.Content == name)
                    {
                        cbi.IsSelected = true;
                        break;
                    }
                }
            }
            else
            {
                Lists.SelectedIndex = 0;
                Lists_SelectionChanged(null, null);
            }
        }