private void OpenSpecialFolder_Executed(object sender, ExecutedRoutedEventArgs e) { SpecialFolderInfo specialFolderInfo = e.Parameter as SpecialFolderInfo; HandyControl.Controls.TabItem tabItem2 = new HandyControl.Controls.TabItem(); tabItem2.Header = specialFolderInfo.FolderPath; FileExplorerView fileExplorerView = new FileExplorerView(); tabItem2.Content = fileExplorerView; fileExplorerView.Navigate(specialFolderInfo.FolderPath); tabControl.Items.Add(tabItem2); tabControl.SelectedIndex = tabControl.Items.Count - 1;//选择最后一个 }
public static string GetFolderPath(SpecialFolderInfo folder, Env.SpecialFolderOption?option = null) { return(option.HasValue ? Env.GetFolderPath((Env.SpecialFolder)folder, option.Value) : Env.GetFolderPath((Env.SpecialFolder)folder)); }
public static Env.SpecialFolder?MappingToEnvironment(UserInfo userInfo, SpecialFolderInfo folderInfo) { switch (userInfo) { case UserInfo.General: switch (folderInfo) { case SpecialFolderInfo.Desktop: return(Env.SpecialFolder.Desktop); case SpecialFolderInfo.Programs: return(Env.SpecialFolder.CommonPrograms); case SpecialFolderInfo.Personal: return(Env.SpecialFolder.Personal); case SpecialFolderInfo.MyDocuments: return(Env.SpecialFolder.MyDocuments); case SpecialFolderInfo.Favorites: return(Env.SpecialFolder.Favorites); case SpecialFolderInfo.Startup: return(Env.SpecialFolder.CommonStartup); case SpecialFolderInfo.Recent: return(Env.SpecialFolder.Recent); case SpecialFolderInfo.SendTo: return(Env.SpecialFolder.SendTo); case SpecialFolderInfo.StartMenu: return(Env.SpecialFolder.CommonStartMenu); case SpecialFolderInfo.MyMusic: return(Env.SpecialFolder.MyMusic); case SpecialFolderInfo.MyVideos: return(Env.SpecialFolder.MyVideos); case SpecialFolderInfo.DesktopDirectory: return(Env.SpecialFolder.CommonDesktopDirectory); case SpecialFolderInfo.MyComputer: return(Env.SpecialFolder.MyComputer); case SpecialFolderInfo.NetworkShortcuts: return(Env.SpecialFolder.NetworkShortcuts); case SpecialFolderInfo.Fonts: return(Env.SpecialFolder.Fonts); case SpecialFolderInfo.Templates: return(Env.SpecialFolder.CommonTemplates); case SpecialFolderInfo.ApplicationData: return(Env.SpecialFolder.CommonApplicationData); case SpecialFolderInfo.PrinterShortcuts: return(Env.SpecialFolder.PrinterShortcuts); case SpecialFolderInfo.LocalApplicationData: return(Env.SpecialFolder.LocalApplicationData); case SpecialFolderInfo.InternetCache: return(Env.SpecialFolder.InternetCache); case SpecialFolderInfo.Cookies: return(Env.SpecialFolder.Cookies); case SpecialFolderInfo.History: return(Env.SpecialFolder.History); case SpecialFolderInfo.Windows: return(Env.SpecialFolder.Windows); case SpecialFolderInfo.System: return(Env.SpecialFolder.System); case SpecialFolderInfo.ProgramFiles: return(Env.SpecialFolder.CommonProgramFiles); case SpecialFolderInfo.MyPictures: return(Env.SpecialFolder.MyPictures); case SpecialFolderInfo.UserProfile: return(Env.SpecialFolder.UserProfile); case SpecialFolderInfo.SystemX86: return(Env.SpecialFolder.SystemX86); case SpecialFolderInfo.ProgramFilesX86: return(Env.SpecialFolder.CommonProgramFilesX86); case SpecialFolderInfo.AdminTools: return(Env.SpecialFolder.CommonAdminTools); case SpecialFolderInfo.Resources: return(Env.SpecialFolder.Resources); case SpecialFolderInfo.LocalizedResources: return(Env.SpecialFolder.LocalizedResources); default: return(null); } case UserInfo.Public: switch (folderInfo) { case SpecialFolderInfo.Desktop: return(Env.SpecialFolder.Desktop); case SpecialFolderInfo.Programs: return(Env.SpecialFolder.CommonPrograms); case SpecialFolderInfo.Personal: return(Env.SpecialFolder.Personal); case SpecialFolderInfo.MyDocuments: return(Env.SpecialFolder.MyDocuments); case SpecialFolderInfo.Favorites: return(Env.SpecialFolder.Favorites); case SpecialFolderInfo.Startup: return(Env.SpecialFolder.CommonStartup); case SpecialFolderInfo.Recent: return(Env.SpecialFolder.Recent); case SpecialFolderInfo.SendTo: return(Env.SpecialFolder.SendTo); case SpecialFolderInfo.StartMenu: return(Env.SpecialFolder.CommonStartMenu); case SpecialFolderInfo.MyMusic: return(Env.SpecialFolder.MyMusic); case SpecialFolderInfo.MyVideos: return(Env.SpecialFolder.MyVideos); case SpecialFolderInfo.DesktopDirectory: return(Env.SpecialFolder.CommonDesktopDirectory); case SpecialFolderInfo.MyComputer: return(Env.SpecialFolder.MyComputer); case SpecialFolderInfo.NetworkShortcuts: return(Env.SpecialFolder.NetworkShortcuts); case SpecialFolderInfo.Fonts: return(Env.SpecialFolder.Fonts); case SpecialFolderInfo.Templates: return(Env.SpecialFolder.CommonTemplates); case SpecialFolderInfo.ApplicationData: return(Env.SpecialFolder.CommonApplicationData); case SpecialFolderInfo.PrinterShortcuts: return(Env.SpecialFolder.PrinterShortcuts); case SpecialFolderInfo.LocalApplicationData: return(Env.SpecialFolder.LocalApplicationData); case SpecialFolderInfo.InternetCache: return(Env.SpecialFolder.InternetCache); case SpecialFolderInfo.Cookies: return(Env.SpecialFolder.Cookies); case SpecialFolderInfo.History: return(Env.SpecialFolder.History); case SpecialFolderInfo.Windows: return(Env.SpecialFolder.Windows); case SpecialFolderInfo.System: return(Env.SpecialFolder.System); case SpecialFolderInfo.ProgramFiles: return(Env.SpecialFolder.CommonProgramFiles); case SpecialFolderInfo.MyPictures: return(Env.SpecialFolder.MyPictures); case SpecialFolderInfo.UserProfile: return(Env.SpecialFolder.UserProfile); case SpecialFolderInfo.SystemX86: return(Env.SpecialFolder.SystemX86); case SpecialFolderInfo.ProgramFilesX86: return(Env.SpecialFolder.CommonProgramFilesX86); case SpecialFolderInfo.AdminTools: return(Env.SpecialFolder.CommonAdminTools); case SpecialFolderInfo.Resources: return(Env.SpecialFolder.Resources); case SpecialFolderInfo.LocalizedResources: return(Env.SpecialFolder.LocalizedResources); default: return(null); } case UserInfo.LoggedUser: switch (folderInfo) { case SpecialFolderInfo.Desktop: return(Env.SpecialFolder.Desktop); case SpecialFolderInfo.Programs: return(Env.SpecialFolder.Programs); case SpecialFolderInfo.Personal: return(Env.SpecialFolder.Personal); case SpecialFolderInfo.MyDocuments: return(Env.SpecialFolder.MyDocuments); case SpecialFolderInfo.Favorites: return(Env.SpecialFolder.Favorites); case SpecialFolderInfo.Startup: return(Env.SpecialFolder.Startup); case SpecialFolderInfo.Recent: return(Env.SpecialFolder.Recent); case SpecialFolderInfo.SendTo: return(Env.SpecialFolder.SendTo); case SpecialFolderInfo.StartMenu: return(Env.SpecialFolder.StartMenu); case SpecialFolderInfo.MyMusic: return(Env.SpecialFolder.MyMusic); case SpecialFolderInfo.MyVideos: return(Env.SpecialFolder.MyVideos); case SpecialFolderInfo.DesktopDirectory: return(Env.SpecialFolder.DesktopDirectory); case SpecialFolderInfo.MyComputer: return(Env.SpecialFolder.MyComputer); case SpecialFolderInfo.NetworkShortcuts: return(Env.SpecialFolder.NetworkShortcuts); case SpecialFolderInfo.Fonts: return(Env.SpecialFolder.Fonts); case SpecialFolderInfo.Templates: return(Env.SpecialFolder.Templates); case SpecialFolderInfo.ApplicationData: return(Env.SpecialFolder.ApplicationData); case SpecialFolderInfo.PrinterShortcuts: return(Env.SpecialFolder.PrinterShortcuts); case SpecialFolderInfo.LocalApplicationData: return(Env.SpecialFolder.LocalApplicationData); case SpecialFolderInfo.InternetCache: return(Env.SpecialFolder.InternetCache); case SpecialFolderInfo.Cookies: return(Env.SpecialFolder.Cookies); case SpecialFolderInfo.History: return(Env.SpecialFolder.History); case SpecialFolderInfo.Windows: return(Env.SpecialFolder.Windows); case SpecialFolderInfo.System: return(Env.SpecialFolder.System); case SpecialFolderInfo.ProgramFiles: return(Env.SpecialFolder.ProgramFiles); case SpecialFolderInfo.MyPictures: return(Env.SpecialFolder.MyPictures); case SpecialFolderInfo.UserProfile: return(Env.SpecialFolder.UserProfile); case SpecialFolderInfo.SystemX86: return(Env.SpecialFolder.SystemX86); case SpecialFolderInfo.ProgramFilesX86: return(Env.SpecialFolder.ProgramFilesX86); case SpecialFolderInfo.AdminTools: return(Env.SpecialFolder.AdminTools); case SpecialFolderInfo.Resources: return(Env.SpecialFolder.Resources); case SpecialFolderInfo.LocalizedResources: return(Env.SpecialFolder.LocalizedResources); default: return(null); } case UserInfo.Default: default: switch (folderInfo) { case SpecialFolderInfo.Desktop: return(Env.SpecialFolder.Desktop); case SpecialFolderInfo.Programs: return(Env.SpecialFolder.CommonPrograms); case SpecialFolderInfo.Personal: return(Env.SpecialFolder.Personal); case SpecialFolderInfo.MyDocuments: return(Env.SpecialFolder.MyDocuments); case SpecialFolderInfo.Favorites: return(Env.SpecialFolder.Favorites); case SpecialFolderInfo.Startup: return(Env.SpecialFolder.CommonStartup); case SpecialFolderInfo.Recent: return(Env.SpecialFolder.Recent); case SpecialFolderInfo.SendTo: return(Env.SpecialFolder.SendTo); case SpecialFolderInfo.StartMenu: return(Env.SpecialFolder.CommonStartMenu); case SpecialFolderInfo.MyMusic: return(Env.SpecialFolder.MyMusic); case SpecialFolderInfo.MyVideos: return(Env.SpecialFolder.MyVideos); case SpecialFolderInfo.DesktopDirectory: return(Env.SpecialFolder.CommonDesktopDirectory); case SpecialFolderInfo.MyComputer: return(Env.SpecialFolder.MyComputer); case SpecialFolderInfo.NetworkShortcuts: return(Env.SpecialFolder.NetworkShortcuts); case SpecialFolderInfo.Fonts: return(Env.SpecialFolder.Fonts); case SpecialFolderInfo.Templates: return(Env.SpecialFolder.CommonTemplates); case SpecialFolderInfo.ApplicationData: return(Env.SpecialFolder.CommonApplicationData); case SpecialFolderInfo.PrinterShortcuts: return(Env.SpecialFolder.PrinterShortcuts); case SpecialFolderInfo.LocalApplicationData: return(Env.SpecialFolder.LocalApplicationData); case SpecialFolderInfo.InternetCache: return(Env.SpecialFolder.InternetCache); case SpecialFolderInfo.Cookies: return(Env.SpecialFolder.Cookies); case SpecialFolderInfo.History: return(Env.SpecialFolder.History); case SpecialFolderInfo.Windows: return(Env.SpecialFolder.Windows); case SpecialFolderInfo.System: return(Env.SpecialFolder.System); case SpecialFolderInfo.ProgramFiles: return(Env.SpecialFolder.CommonProgramFiles); case SpecialFolderInfo.MyPictures: return(Env.SpecialFolder.MyPictures); case SpecialFolderInfo.UserProfile: return(Env.SpecialFolder.UserProfile); case SpecialFolderInfo.SystemX86: return(Env.SpecialFolder.SystemX86); case SpecialFolderInfo.ProgramFilesX86: return(Env.SpecialFolder.CommonProgramFilesX86); case SpecialFolderInfo.AdminTools: return(Env.SpecialFolder.CommonAdminTools); case SpecialFolderInfo.Resources: return(Env.SpecialFolder.Resources); case SpecialFolderInfo.LocalizedResources: return(Env.SpecialFolder.LocalizedResources); default: return(null); } } }