示例#1
0
        public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            ObservableCollection <Video> videos = values[0] as ObservableCollection <Video>;

            if (videos != null)
            {
                if ((values[1] != null) && (values[1] != DependencyProperty.UnsetValue))
                {
                    IntelligentString viewAllText = (IntelligentString)values[1];

                    MediaItemFilter filter = values[2] as MediaItemFilter;

                    ObservableCollection <IntelligentString> selectedGenres = values[3] as ObservableCollection <IntelligentString>;

                    if (selectedGenres != null)
                    {
                        ObservableCollection <IntelligentString> selectedPrograms = values[4] as ObservableCollection <IntelligentString>;

                        if (selectedPrograms != null)
                        {
                            List <IntelligentString> series = new List <IntelligentString>(
                                (from video in videos
                                 where PassSeries(video, viewAllText, filter, selectedGenres.ToArray(), selectedPrograms.ToArray())
                                 select IntelligentString.FromString(video.Series.ToString())).Distinct());

                            series.Sort();
                            series.Insert(0, viewAllText);

                            return(new ObservableCollection <IntelligentString>(series));
                        }
                    }
                }
            }

            return(new ObservableCollection <IntelligentString>());
        }