Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当UWP应用程序关闭时,使用文本框中的数据写入.txt文件_C#_Uwp_Windows 10_Win Universal App_Windows 10 Universal - Fatal编程技术网

C# 当UWP应用程序关闭时,使用文本框中的数据写入.txt文件

C# 当UWP应用程序关闭时,使用文本框中的数据写入.txt文件,c#,uwp,windows-10,win-universal-app,windows-10-universal,C#,Uwp,Windows 10,Win Universal App,Windows 10 Universal,当用户关闭应用程序时,我相信在终止之前会首先调用app.xaml.cs中的OnSuspending方法。因此,我将代码放在那里,以便自动将用户在文本框中编写的内容保存到一个名为TextFile1.txt的.txt文件中。程序运行时没有错误,但在应用程序关闭时不会将用户数据保存到.txt文件中 App.xaml.cs中的代码: private MainPage mainFrame; private async void OnSuspending(object sender, Suspen

当用户关闭应用程序时,我相信在终止之前会首先调用app.xaml.cs中的OnSuspending方法。因此,我将代码放在那里,以便自动将用户在文本框中编写的内容保存到一个名为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
        {

        }
    }
public sealed partial class MainPage : Page
{
        public TextBox mainTextBox => textBox;
        public static MainPage rootPage;
        public MainPage()
        {
            InitializeComponent();
            if (rootPage != null)
            {
                rootPage = this;
            }
        }
}
MainPage.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
        {

        }
    }
public sealed partial class MainPage : Page
{
        public TextBox mainTextBox => textBox;
        public static MainPage rootPage;
        public MainPage()
        {
            InitializeComponent();
            if (rootPage != null)
            {
                rootPage = this;
            }
        }
}

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

要使场景正常工作,请将文本文件写入AppData位置。

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

要使场景正常工作,请将文本文件写入AppData位置。

尝试使用
OnCloseRequested()
方法。有关于此方法的文档吗?好像什么也找不到。。只是顺便添加的,没有达到这个速度。尝试使用
OnCloseRequested()
方法。有关于这个方法的文档吗?好像什么也找不到。。只是顺便加了一句,没有达到这个速度。