/// <summary>
        ///		SpacomicMainViewModelクラスの新しいインスタンスを生成します。
        /// </summary>
        public SpacomicMainViewModel()
        {
            // AppオブジェクトからModelを取得します。
            spacomicRSSCollectionModel = (App.Current as App)?.SpacomicRSSCollectionModel;

            // Modelの参照の取得に失敗したら、例外をスローします。
            if (spacomicRSSCollectionModel == null)
            {
                throw new Exception($"Failed to get reference of Model's instance on {GetType().ToString()}");
            }

            // プロパティの変更を通知します。
            spacomicRSSCollectionModel.PropertyChanged +=
                (sender, e) =>
                PropertyChanged?.Invoke(sender, e);

            // RSSフィードの取得が完了したことをView側に通知します。
            spacomicRSSCollectionModel.GetRSSCompleted +=
                (sender, e) => {
                // RSSフィード取得中のフラグをオフにします。
                IsProgress = false;
                NotifyPropertyChanged(nameof(CanSwitchComicView));
                // RSSフィード取得完了したことをView側に通知します。
                GetRSSCompleted?.Invoke(this, e);
            };

            // すぱこーRSSフィードの最新話が見つかったことを通知します。
            spacomicRSSCollectionModel.NewRSSContentsFound +=
                (sender, e) =>
                NewRSSContentsFound?.Invoke(sender, e);
        }
Beispiel #2
0
        /// <summary>
        ///		SpacomicComicViewModelの新しいインスタンスを生成します。
        /// </summary>
        public SpacomicComicViewModel()
        {
            // AppオブジェクトからModelを取得します。
            spacomicRSSCollectionModel = (App.Current as App)?.SpacomicRSSCollectionModel;

            // Modelの参照の取得に失敗したら、例外をスローします。
            if (spacomicRSSCollectionModel == null)
            {
                throw new Exception($"Failed to get reference of Model's instance on {GetType().ToString()}");
            }

            spacomicRSSCollectionModel.PropertyChanged += SpacomicRSSCollectionModel_PropertyChanged;
        }
Beispiel #3
0
        /// <summary>
        ///		SpacoRSSCollectionViewModelの新しいインスタンスを生成します。
        /// </summary>
        public SpacoRSSCollectionViewModel()
        {
            // AppオブジェクトからModelを取得します。
            spacomicRSSCollectionModel = (App.Current as App)?.SpacomicRSSCollectionModel;

            // Modelの参照の取得に失敗したら、例外をスローします。
            if (spacomicRSSCollectionModel == null)
            {
                throw new Exception($"Failed to get reference of Model's instance on {GetType().ToString()}");
            }

            // プロパティの変更を通知します。
            spacomicRSSCollectionModel.PropertyChanged +=
                (sender, e) =>
                PropertyChanged?.Invoke(sender, e);

            // RSSフィードの取得を開始したことをView側に通知します。
            spacomicRSSCollectionModel.GetRSSStarted +=
                (sender, e) => {
                IsProgress = true;
                Items      = null;
                NotifyPropertyChanged(nameof(Items));
                GetRSSStarted?.Invoke(this, e);
            };

            // RSSフィードの取得が完了したことをView側に通知します。
            spacomicRSSCollectionModel.GetRSSCompleted +=
                (sender, e) => {
                // RSSフィード取得中のフラグをオフにします。
                IsProgress = false;
                DivideItemsIntoTheGroupsOfMonth();
                // RSSフィード取得完了したことをView側に通知します。
                GetRSSCompleted?.Invoke(this, e);
            };

            // 画像のキャッシュの削除が完了したことをView側に通知します。
            spacomicRSSCollectionModel.ImageCachesDeleted +=
                (sender, e) => {
                NotifyPropertyChanged(nameof(Items));
            };

            if (spacomicRSSCollectionModel.Items != null)
            {
                DivideItemsIntoTheGroupsOfMonth();
            }
        }
Beispiel #4
0
        /// <summary>
        ///		AppSettingViewModelクラスの新しいインスタンスを生成します。
        /// </summary>
        public AppSettingViewModel()
        {
            // AppオブジェクトからModelを取得します。
            spacomicRSSCollectionModel = (App.Current as App)?.SpacomicRSSCollectionModel;

            // Modelの参照の取得に失敗したら、例外をスローします。
            if (spacomicRSSCollectionModel == null)
            {
                throw new Exception($"Failed to get reference of Model's instance on {GetType().ToString()}");
            }

            spacomicRSSCollectionModel.PropertyChanged    += SpacomicRSSCollectionModel_PropertyChanged;
            spacomicRSSCollectionModel.ImageCachesDeleted += SpacomicRSSCollectionModel_ImageCachesDeleted;

            // パッケージ情報を取得します。
            packageInfo = Package.Current.Id;
        }