2017-07-12 48 views
-1

因此,我製作了一個小型WPF應用程序,允許您對文件夾/文件結構進行模板化並保存/加載它們。Windows資源管理器不顯示在WPF應用程序中創建的文件夾/文件

當應用程序最初安裝時,它在根安裝文件夾中有一個Template文件夾。我開始保存和加載模板(使用SaveFileDialog和OpenFileDialog,然後寫入/從xml分析)。這工作得很好。

然後,我想測試一下,如果我要刪除該文件夾,那麼將通過這些按鈕首先打開哪個目錄(因爲即使是全新安裝,它也會轉到最後打開的目錄,我想要將其清除)。但是,在刪除文件夾後,它仍然出現在文件對話框中。我可以在文件對話框中創建新的文件夾,甚至可以解析不存在的XML文件。所以現在,在應用程序中,我可以看到一個Templates文件夾,從零開始加載XML並將XML文件保存到該文件夾​​中,並且該應用程序完美工作。如果我在Windows資源管理器中訪問該目錄,Templates目錄不存在,我也無法打開任何文件(我也嘗試使用搜索框和F5,但未顯示)。

任何想法可能會導致此錯誤?

下面是基本的代碼我在做保存/載入這些文件:

private void LoadTemplate (object sender , RoutedEventArgs e) 
    { 
     OpenFileDialog dialog = new OpenFileDialog(); 

     dialog.Filter = "xml files |*.xml"; 
     dialog.FilterIndex = 2; 

     if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
     { 
      string path = dialog.FileName; 

      XmlDocument doc = new XmlDocument(); 
      doc.Load (path); 

      if (doc.DocumentElement != null) 
      { 
       XmlNodeList nodes = doc.DocumentElement.SelectNodes ("Folders") [ 0 ].ChildNodes; 
       List <Folder> _folders = new List <Folder>(); 
       int currentLevel = 0; 

       foreach (XmlNode node in nodes) 
       { 
        addItemToList (ref _folders , node , currentLevel); 
       } 

       folders = _folders; 
       DeployHierarchy.ItemsSource = folders; 
       DeployHierarchy.Items.Refresh(); 
      } 
     } 
    } 

private void SaveTemplate(object sender, RoutedEventArgs e) 
    { 
     SaveFileDialog savefile1 = new SaveFileDialog(); 

     savefile1.Filter = "xml files |*.xml"; 
     savefile1.FilterIndex = 2; 

     if (savefile1.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
     { 
      XmlDocument doc = new XmlDocument(); 
      XmlElement root = doc.CreateElement ("Root"); 
      XmlElement currentEl = (XmlElement) root.AppendChild (doc.CreateElement ("Folders")); 
      doc.AppendChild (root); 

      for (int i = 0; i < folders.Count; i++) 
      { 
       addElement(ref doc , ref currentEl, ref i, ref currentEl); 
      } 

      doc.Save (savefile1.FileName); 
     } 

    } 

回答

1

也許你已經創建的文件夾/文件在安全受限的文件夾,而不是運行您的WPF應用程序作爲管理員在這種情況下,物理文件位於C:\Users\<user>\AppData\Local\VirtualStore

+0

這是正確的,謝謝! –

相關問題