예제 #1
0
        private void TreeViewItem_Collapsed(object sender, RoutedEventArgs e)
        {
            if (currentFolderSetByMouseDown)
            {
                FilePickerViewModel vm = DataContext as FilePickerViewModel;
                vm.SelectedFolder = originalFolder;
                vm.SelectedEntry  = originalEntry;

                originalFolder = null;
                originalEntry  = null;
                currentFolderSetByMouseDown = false;
            }
        }
예제 #2
0
        private void TreeViewItem_Expanded(object sender, RoutedEventArgs e)
        {
            TreeViewItem item = e.OriginalSource as TreeViewItem;

            if (item.DataContext is FolderEntry entry)
            {
                entry.LoadFoldersOnDemand();
                if (currentFolderSetByMouseDown)
                {
                    FilePickerViewModel vm = DataContext as FilePickerViewModel;
                    vm.SelectedFolder = originalFolder;
                    vm.SelectedEntry  = originalEntry;

                    originalFolder = null;
                    originalEntry  = null;
                    currentFolderSetByMouseDown = false;
                }
            }
        }
예제 #3
0
        private void RootFolderItem_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            if (sender is TreeViewItem item)
            {
                item.BringIntoView();

                if (item.DataContext is FolderEntry entry)
                {
                    entry.LoadFoldersOnDemand();
                    entry.LoadFilesOnDemand();
                    FilePickerViewModel vm = DataContext as FilePickerViewModel;
                    originalFolder = vm.SelectedFolder;
                    originalEntry  = vm.SelectedEntry;

                    vm.SelectedFolder = entry;
                    vm.SelectedEntry  = entry;

                    currentFolderSetByMouseDown = true;
                }
            }
        }
예제 #4
0
 public FilePickerClosedEventArgs(IFilePickerEntry filePickerEntry)
 {
     filePath     = filePickerEntry?.Path;
     fileName     = filePickerEntry?.Name;
     dialogResult = filePickerEntry != null ? MessageBoxResult.OK : MessageBoxResult.Cancel;
 }