当用户关闭应用程序时,我相信在终止之前会先调用App.xaml.cs中的OnSuspending方法。因此,我将代码放在此处,以便将用户在TextBox中编写的内容自动保存到名为TextFile1.txt的.txt文件中。该程序可以正常运行,但是在关闭应用程序后不会将用户数据保存到.txt文件中。
App.xaml.cs 中的代码:
private MainPage mainFrame;
private async void OnSuspending(object sender, SuspendingEventArgs e)
{
var deferral = e.SuspendingOperation.GetDeferral();
await WriteTextToFile();
deferral.Complete();
}
private async Task WriteTextToFile()
{
try
{
string text = mainFrame.mainTextBox.Text;
StorageFile textFile = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///TextFile1.txt"));
await FileIO.WriteTextAsync(textFile, text);
}
catch
{
}
}
MainPage.xaml.cs 中的代码:
public sealed partial class MainPage : Page
{
public TextBox mainTextBox => textBox;
public static MainPage rootPage;
public MainPage()
{
InitializeComponent();
if (rootPage != null)
{
rootPage = this;
}
}
}
答案 0 :(得分:2)
您的代码失败,因为它尝试写入应用程序的安装文件夹。该文件夹受到保护,以确保安装的完整性。
要使您的方案起作用,请改为将文本文件写入AppData位置。 https://docs.microsoft.com/en-us/windows/uwp/design/app-settings/store-and-retrieve-app-data