2012-09-17 34 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列表框中选定项目的文本值? –

相关问题