public SearchVideoByRankingViewModel(SearchVideoByRankingModel model) : base(model)
        {
            Source = model;

            Items = Source.Videos.ToSyncedSynchronizationContextCollection(
                id => new VideoItemViewModel(id),
                AnonymousSynchronizationContext.Current
                );

            ComboTargetItems = ComboRankTargetModel
                               .Instance
                               .Items
                               .ToSyncedSynchronizationContextCollection(m => m, AnonymousSynchronizationContext.Current);

            ComboPeriodItems = ComboRankPeriodModel
                               .Instance
                               .Items
                               .ToSyncedSynchronizationContextCollection(m => m, AnonymousSynchronizationContext.Current);

            ComboCategoryItems = ComboRankCategoryModel
                                 .Instance
                                 .Items
                                 .ToSyncedSynchronizationContextCollection(m => m, AnonymousSynchronizationContext.Current);

            SelectedComboTargetItem   = SettingModel.Instance.SearchVideoByRankingTarget;
            SelectedComboPeriodItem   = SettingModel.Instance.SearchVideoByRankingPeriod;
            SelectedComboCategoryItem = SettingModel.Instance.SearchVideoByRankingCategory;

            OnSearch.Execute(null);
        }
        public SearchVideoByMylistViewModel(SearchVideoByMylistModel model) : base(model)
        {
            Source = model;
            Source.AddOnPropertyChanged(this, OnPropertyChanged);

            this.Word              = Source.MylistId;
            this.MylistTitle       = Source.MylistTitle;
            this.MylistCreator     = Source.MylistCreator;
            this.MylistDescription = Source.MylistDescription;
            this.UserId            = Source.UserId;
            this.UserThumbnail     = Source.UserThumbnail;
            this.MylistDate        = Source.MylistDate;

            Items = Source.Videos.ToSyncedSynchronizationContextCollection(
                id => new VideoItemViewModel(id),
                AnonymousSynchronizationContext.Current
                );

            SortItems = ComboSortMylistModel
                        .Instance
                        .Items
                        .ToSyncedSynchronizationContextCollection(m => m, AnonymousSynchronizationContext.Current);
            SelectedSortItem = SettingModel.Instance.SearchVideoByMylistSort;

            OnSearch.Execute(null);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        public SearchByRankingViewModel(SearchByRankingModel model)
        {
            Source = model;

            Items = Source.Videos.ToSyncedSynchronizationContextCollection(
                id => new SearchByRankingItemViewModel(id),
                AnonymousSynchronizationContext.Current
                );

            ComboTargetItems = ComboRankTargetModel
                               .Instance
                               .Items
                               .ToSyncedSynchronizationContextCollection(m => m, AnonymousSynchronizationContext.Current);
            SelectedComboTargetItem = ComboTargetItems.First();

            ComboPeriodItems = ComboRankPeriodModel
                               .Instance
                               .Items
                               .ToSyncedSynchronizationContextCollection(m => m, AnonymousSynchronizationContext.Current);
            SelectedComboPeriodItem = ComboPeriodItems.First();

            ComboCategoryItems = ComboRankCategoryModel
                                 .Instance
                                 .Items
                                 .ToSyncedSynchronizationContextCollection(m => m, AnonymousSynchronizationContext.Current);
            SelectedComboCategoryItem = ComboCategoryItems.First();

            // 検索処理
            OnSearch.Execute(null);
        }
 protected override void OnSearchRequested(string searchText)
 {
     OnSearch.Execute(searchText);
 }