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; } }
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; } } }
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; } } }
public FilePickerClosedEventArgs(IFilePickerEntry filePickerEntry) { filePath = filePickerEntry?.Path; fileName = filePickerEntry?.Name; dialogResult = filePickerEntry != null ? MessageBoxResult.OK : MessageBoxResult.Cancel; }