2017-06-15 21 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); 
} 

あなたは私がJSONにオブジェクトMyDataをシリアル化し、それを直接保存しています気付いた場合。取得するには今

、あなただけのテキストファイルから

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

関連する問題