2012-09-17 2 views
0

Metro 스타일 앱에서 내 응용 프로그램에서 만든 파일을 만들고 읽고 편집 할 수는 있지만 삭제할 수는 없습니다 (예 : 필요한 선언 및 파일 유형 연결을 설정했습니다)!Metro 스타일 앱의 코드에서 만든 파일을 삭제할 수없는 이유는 무엇입니까?

나는 Access is denied. 메시지, 윈도우 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()가 없으므로 필자는 Metro 샘플에서 볼 수있는 것처럼'file = null; '과 같은 null 값을 할당합니다. 충분하니? –

+0

@ JTS-V DataWriter 또는 StorageStreamTransaction을 사용합니까? 그것들은'using' 블록으로 싸여 질 필요가 있습니다. – Earlz

+0

'SelectedItem'을 얻었을 때 - 선택한 아이템의 값을 얻지 못했습니다. 'NoteView.Note'를 리턴합니다 - 그래서 그것이 Access is denied라고 말합니다. 그런 다음 XAML Metro ListBox에서 선택한 항목의 Text 값을 얻으려면 어떻게해야합니까? –

관련 문제