1

ファイルを作成してから、ファイルに書き込み、そこから読み取ることも試みています...アプリがロードされるたびにロードする設定のようなものです。なぜこれがうまくいかないのですか?私はVisual Studio 2012を実行していますが、そこでプログラムを実行すると、プロジェクトのフォルダーにファイルが作成されるはずだと思います...私の方法は非同期で無効です...何が起こっているのか本当にわかりません笑

 StorageFile sampleFile = await Windows.Storage.ApplicationData.Current.LocalFolder.CreateFileAsync("config.txt", CreationCollisionOption.ReplaceExisting);

これをローカル フォルダに作成するにはどうすればよいですか? そのため、プログラムが実行されるたびに、どのコンピューターでファイルが作成され、ユーザーがプログラムを閉じて再度開いたときにロードされますか?

4

2 に答える 2

1

男、素晴らしい質問です!

あなたが求めていることを行うための正確なロジックは次のとおりです。

public class MyData
{
    public string Title { get; set; }
}

public sealed partial class MainPage : Page
{
    public MainPage()
    {
        this.InitializeComponent();
    }

    protected async override void OnNavigatedTo(NavigationEventArgs e)
    {
        this.DataContext = await LoadData();
    }

    protected override void OnNavigatedFrom(NavigationEventArgs e)
    {
        SaveData(this.DataContext as MyData);
        base.OnNavigatedFrom(e);
    }

    private async Task<MyData> LoadData()
    {
        var _Data = await StorageHelper.ReadFileAsync<MyData>(
            this.GetType().ToString(), StorageHelper.StorageStrategies.Local);
        return _Data ?? new MyData() { Title = "Welcome" };
    }

    private async void SaveData(MyData data)
    {
        await StorageHelper.WriteFileAsync(
            this.GetType().ToString(), data, StorageHelper.StorageStrategies.Local);
    }
}

StorageHelper クラスはここにあります。または私のブログhttp://jerrynixon.com

頑張ってください!

于 2013-06-08T03:44:46.947 に答える
0

これをローカル フォルダに作成するにはどうすればよいですか?

Windows ストア アプリはサンドボックスで実行され、ファイル システムへのアクセスは非常に制限されています。基本的に、次のものにアクセスできます。

  • アプリのLocalFolder(インストール フォルダーではない) とRoamingFolder
  • アプリの機能に応じて、ドキュメント ライブラリ、画像ライブラリ、音楽ライブラリなど (アプリ マニフェストで宣言)
  • ユーザーがファイル ピッカーを使用して選択したファイル

それだけだと思います... インストール フォルダー ( Package.Current.InstallationFolder) 内のファイルにもアクセスできますが、読み取り専用です。

于 2013-06-06T23:26:13.957 に答える