예제 #1
0
        private IDisposable BindCommands(IDialogManager dialogManager)
        {
            OpenFolderCommand = ReactiveCommand.CreateFromObservable(
                () => dialogManager.OpenFolder(null), null, RxApp.MainThreadScheduler);

            return(OpenFolderCommand
                   .SubscribeOn(RxApp.TaskpoolScheduler)
                   .ObserveOn(RxApp.MainThreadScheduler)
                   .SubscribeWithLog(directory =>
            {
                var path = Path.GetFullPath(directory);

                if (Roots.All(r => r != path))
                {
                    Roots.Add(path);
                }
            }));
        }