public TweetsViewModel(ListProvider ListIdProvider, ITabFactory tabFactory) { Disposable = new CompositeDisposable(); TabFactory = tabFactory; this.ListProvider = ListIdProvider; ListId = this.ListProvider.Id.ToReadOnlyReactivePropertySlim(); Tabs = new ObservableCollection <TabBase>(); // TODO 前回起動時のタブを呼び出す処理を追加 OnLoaded = new ReactiveCommand <RoutedEventArgs>() .AddTo(Disposable); OnCurrentTabChanged = new ReactiveCommand <SelectionChangedEventArgs>() .AddTo(Disposable); ReloadPast = new ReactiveCommand() .AddTo(Disposable); TabCloseCommand = new ReactiveCommand <RoutedEventArgs>() .AddTo(Disposable); CurrentTabChangedCommandByButtonCommand = new ReactiveCommand <RoutedEventArgs>() .AddTo(Disposable); ListId.Subscribe(async e => await OpenListTabAction(e)) .AddTo(Disposable); OnLoaded.Subscribe(e => OnLoadedAction(e)) .AddTo(Disposable); OnCurrentTabChanged.Subscribe(e => OnCurrentTabChangedAction()) .AddTo(Disposable); ReloadPast.Subscribe(_ => ReloadPastAction()) .AddTo(Disposable); TabCloseCommand.Subscribe(e => OnTabClose(e)) .AddTo(Disposable); CurrentTabChangedCommandByButtonCommand.Subscribe(e => CurrentTabChangedCommandByButton(e)) .AddTo(Disposable); }