Beispiel #1
0
        public FolderBrowserWindow()
        {
            InitializeComponent();

            _viewModel  = new FolderBrowserViewModel(this);
            DataContext = _viewModel;
        }
        public FolderBrowserDataContext(IHaveFileCollection haveFileCollection)
        {
            FolderBrowserViewModel = new FolderBrowserViewModel(haveFileCollection);
            //var vm = FileExplorerDataContextFactory.CreateFolderBrowserDataContext(haveFileCollection);

            var folderBrowser         = ViewProvider.CreateView(Constants.FolderBrowserView, FolderBrowserViewModel);
            var folderBrowserUIObject = UIObjectProviderFactory.CreateNew(folderBrowser);

            StackGrid.AddChild(folderBrowserUIObject,
                               new GridChildLength(new System.Windows.GridLength(1, System.Windows.GridUnitType.Star)));
        }
        private void BrowsePath(object obj)
        {
            FolderBrowserWindow window = new FolderBrowserWindow();

            if (this.viewModel == null)
            {
                this.viewModel = new FolderBrowserViewModel(this.AdapterBase)
                {
                    Message = this.Adapter.Configuration.IsOriginator ?
                              "Select the source folder" :
                              "Select the destination folder"
                };

                if (!string.IsNullOrWhiteSpace(this.DestinationPath))
                {
                    // TODO: Fix
                    //this.viewModel.SelectedPath = this.DestinationPath;
                }
            }

            if (!this.viewModel.RootFolders.Any())
            {
                this.viewModel.LoadRootFolders();
            }

            window.DataContext = this.viewModel;

            if (!string.IsNullOrEmpty(this.DestinationPath))
            {
                ThreadingHelper.StartBackgroundTask(
                    (s, t) =>
                {
                    foreach (FolderViewModel root in this.viewModel.RootFolders)
                    {
                        FolderViewModel folder = this.GetFolderByPath(root, this.DestinationPath.Split('\\').ToList());
                        if (folder != null)
                        {
                            folder.IsExpanded = true;
                            folder.IsSelected = true;
                            break;
                        }
                    }
                });
            }

            bool?dialogResult = window.ShowDialog();

            if (dialogResult == true)
            {
                this.DestinationPath = this.viewModel.SelectedFolder.GetPath();
                //this.DestinationPath = this.viewModel.SelectedPath;
                //this.SetDestinationPath(this.viewModel.SelectedPath);
            }
        }
Beispiel #4
0
        private void BrowsePath(object obj)
        {
            FolderBrowserWindow window = new FolderBrowserWindow();

            if (this.viewModel == null)
            {
                this.viewModel = new FolderBrowserViewModel(this.AdapterBase)
                {
                    Message = "Select the destination folder"
                };
                if (!string.IsNullOrWhiteSpace(this.DestinationPath))
                {
                    //this.viewModel.SelectedPath = this.DestinationPath;
                }
            }

            if (!this.viewModel.RootFolders.Any())
            {
                this.viewModel.LoadRootFolders();
            }

            window.DataContext = this.viewModel;

            if (!string.IsNullOrWhiteSpace(this.DestinationPath))
            {
                ThreadingHelper.StartBackgroundTask(
                    (s, t) =>
                {
                    foreach (FolderViewModel root in this.viewModel.RootFolders)
                    {
                        FolderViewModel folder = this.GetFolderByPath(root,
                                                                      this.DestinationPath.Split(new[] { this.AdapterBase.PathSeparator },
                                                                                                 StringSplitOptions.None).ToList());
                        if (folder != null)
                        {
                            folder.IsExpanded = true;
                            folder.IsSelected = true;
                            break;
                        }
                    }
                });
            }

            bool?dialogResult = window.ShowDialog();

            if (dialogResult == true && this.viewModel.SelectedFolder != null)
            {
                this.DestinationPath = this.viewModel.SelectedFolder.GetPath();
            }
        }
        private void TreeView_Expanded(object sender, RoutedEventArgs e)
        {
            if (!(e.OriginalSource is TreeViewItem))
            {
                return;
            }
            TreeViewItem tvm = (TreeViewItem)e.OriginalSource;

            if (DataContext == null || !(DataContext is FolderBrowserViewModel))
            {
                return;
            }

            FolderBrowserViewModel vm = (FolderBrowserViewModel)DataContext;

            vm.ExpandCommand.Execute(tvm.DataContext);
        }