/// <summary>
        /// コンストラクター
        /// </summary>
        /// <param name="appModel">アプリケーションModelのインスタンス</param>
        /// <param name="dialogHelper">ダイアログHelperのインスタンス</param>
        public MainWindowViewModel(IAppModel appModel, IDialogHelper dialogHelper)
        {
            AppModel     = appModel;
            DialogHelper = dialogHelper;

            AppModel.LoadSettings();

            FromFolder = ReactiveProperty
                         .FromObject(AppModel, x => x.FromFolder)
                         .AddTo(Disposables);
            ToFolder = ReactiveProperty
                       .FromObject(AppModel, x => x.ToFolder)
                       .AddTo(Disposables);
            CreateFolderIfNotExist = ReactiveProperty
                                     .FromObject(AppModel, x => x.CreateFolderIfNotExist)
                                     .AddTo(Disposables);
            OverwriteIfExist = ReactiveProperty
                               .FromObject(AppModel, x => x.OverwriteIfExist)
                               .AddTo(Disposables);
            ClassifyAsDatas = ReactiveProperty
                              .FromObject(AppModel, x => x.ClassifyAsDatas)
                              .AddTo(Disposables);

            ButtonEnable = new ReactiveProperty <bool>(true);

            SelectFromFolderCommand = ButtonEnable
                                      .ToReactiveCommand()
                                      .WithSubscribe(_ => SelectFromFolderAction())
                                      .AddTo(Disposables);
            SelectToFolderCommand = ButtonEnable
                                    .ToReactiveCommand()
                                    .WithSubscribe(_ => SelectToFolderAction())
                                    .AddTo(Disposables);
            SaveSettingsCommand = ButtonEnable
                                  .ToAsyncReactiveCommand()
                                  .WithSubscribe(_ => SaveSettingsActionAsync())
                                  .AddTo(Disposables);
            ExecuteCommand = ButtonEnable
                             .ToAsyncReactiveCommand()
                             .WithSubscribe(_ => ExecuteActionAsync())
                             .AddTo(Disposables);
        }