2012-09-17 29 views
0

我可以在我的Metro風格應用程序中創建,讀取和編輯由我的應用程序創建的文件,但它不會讓我刪除(並且是的,我確實需要設置必要的聲明和文件類型關聯)!爲什麼我無法刪除使用Metro風格應用程序中的代碼創建的文件?

我得到Access is denied.消息,對於是在Windows 8地鐵文件Acccess示例中使用(和作品)相同的代碼:

private async void RemoveNote_Click(object sender, RoutedEventArgs e) 
{ 
    try 
    { 
     StorageFile file = await KnownFolders.DocumentsLibrary.GetFileAsync(NotesList.SelectedItem.ToString()); 
     if (file != null) 
     { 
      await file.DeleteAsync(); 
      file = null; 
     } 

     notes.RemoveAt(NotesList.Items.IndexOf(NotesList.SelectedItem)); 
    } 
    catch (Exception exception) 
    { 
     throw new Exception(exception.Message); 
    } 
} 

有人可以請幫助?

回答

1

你忘了關閉某個文件流嗎?

+0

: -/Nope,@spender - 我真的記得關閉它們。由於StorageFile沒有Dispose()或Close(),所以我將它賦給一個空值,如'file = null;' - 如Metro樣本中所示。夠了嗎? –

+0

@ JTS-V是否使用DataWriter或StorageStreamTransaction?那些需要被封裝在一個'使用'塊 – Earlz

+0

我剛剛意識到,當我得到'SelectedItem' - 它沒有得到所選項目的值。它只是返回'NoteView.Note' - 所以這就是爲什麼它說拒絕訪問。但是,那麼,如何獲取XAML Metro列表框中選定項目的文本值? –

相關問題