/// <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); }