关闭 UWP 应用程序时使用 TextBox 中的数据写入 .txt 文件

Write to a .txt file using data from TextBox when UWP app is closed

当用户关闭应用程序时,我相信 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;
            }
        }
}

您的代码失败,因为它试图写入应用程序的安装文件夹。此文件夹受到保护以确保安装的完整性。

要使您的场景正常运行,请将文本文件写入您的 AppData 位置。 https://docs.microsoft.com/en-us/windows/uwp/design/app-settings/store-and-retrieve-app-data