2017-06-15 25 views
1

我需要一些帮助与我的应用程序。 我是C#和UWP编程的初学者。 我有3个文本框,我将每行数据保存在文本文件中。 我使用ApplicationData.Current.LocalFolder来做到这一点。如何将文件的每一行加载到不同的文本框

但是,如何将每行加载回文本框?

我已经完成了每个文本框的文件,但后来很多文件需要在应用程序中再次执行。

希望这是可以理解的!

这是我为保存所做的代码。

private async void OpretBilFlyoutButton_Click(object sender, RoutedEventArgs e) 
    { 
     string filenameBilmarke = "BilMarke.txt"; 
     string bilMarke = BilMarke.Text; 
     string bilModel = BilModel.Text; 
     string kmTaller = KmTaller.Text; 

      StorageFolder localFolder = Windows.Storage.ApplicationData.Current.LocalFolder; 
      StorageFile fileBilMarke = await localFolder.CreateFileAsync(filenameBilmarke, CreationCollisionOption.ReplaceExisting); 
      await FileIO.WriteTextAsync(fileBilMarke, bilMarke + "\r\n" + bilModel + "\r\n" + kmTaller); 
    } 
+0

你的文本框可以包含换行符或回车符? –

回答

2

这就是我该怎么做的。

首先从的NuGet

安装 Json.Net

然后创建一个基类,你要保存的数据。

public class MyData 
{ 
    public string BilMarke { get; set; } 
    public string BilModel { get; set; } 
    public string KmTaller { get; set; } 
} 

为了保存数据,您需要将方法更改为以下。

private async void OpretBilFlyoutButton_Click(object sender, RoutedEventArgs e) 
{ 
    string filenameBilmarke = "BilMarke.txt"; 

    MyData data = new MyData(); 
    data.BilMarke = BilMarke.Text; 
    data.BilModel = BilModel.Text; 
    data.KmTaller = KmTaller.Text; 

    string finaldata = JsonConvert.SerializeObject(data); 

    StorageFolder localFolder = Windows.Storage.ApplicationData.Current.LocalFolder; 
    StorageFile fileBilMarke = await localFolder.CreateFileAsync(filenameBilmarke, CreationCollisionOption.ReplaceExisting); 
    await FileIO.WriteTextAsync(fileBilMarke, finaldata); 
} 

如果你注意到我序列化对象MyData到JSON,并直接保存它。

我们检索,你可以只序列化从文本文件

MyData textdata = JsonConvert.DeserializeObject<MyData>(finaldata); 

的内容,你可以为它回到文本框像下面。

BilMarke.Text = textdata.BilMarke; 
BilModel.Text = textdata.BilModel; 
KmTaller.Text = textdata.KmTaller; 

好运。

+0

非常感谢!它的工作原理:) – TheisTN

+2

@TheisTN,您可以通过点击答案左上角的绿色选中标记来感谢他人。 –

+0

明白了:)! @DourHighArch – TheisTN

相关问题