簡単なタスクアプリケーションがあります。taskTextBox、addButton、tasksListViewがあり、タスクが表示されます。この方法でXMLファイルに新しいアイテムを追加しています。
private async void addButton_Click_1(object sender, RoutedEventArgs e)
{
try
{
var folder = ApplicationData.Current.LocalFolder;
var file = await folder.GetFileAsync("tasks.xml");
var readStream = await FileIO.ReadTextAsync(file);
var writeStream = await file.OpenStreamForWriteAsync();
XElement xElem = XElement.Parse(readStream);
xElem.Add(new XElement("Task",
new XElement("Id", Guid.NewGuid()),
new XElement("Name", QuickTaskTextBox.Text.ToString())
));
xElem.Save(writeStream);
taskTextBox.Text = "";
}
catch (Exception ex)
{
new MessageDialog(ex.Message).ShowAsync();
}
finally
{
this.Frame.Navigate(typeof(MyTasks));
}
}
しかし、addButtonをclcikすると、アプリケーションは例外アクセスをスローします。HRESULT:0x80070005(E_ACCESSDENIED)
this.Frame.Navigate(typeof(MyTasks));が原因です。このコードを削除すると、すべてが正常に見えますが、ListViewにのみ新しく追加されたタスクが含まれていません。