情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

方法: Windows Phone のファイルとフォルダーを格納する

2012/02/09

このトピックでは、アプリケーションで次の分離ストレージ タスクを実行する方法を示します。

  • アプリケーションの仮想ストアの取得

  • 親フォルダーの作成

  • 分離ストレージ ファイルへのテキストの作成と追加

  • ストレージ ファイルに置かれたテキストの読み取り

目的は、テキストの文字列を入力し、それをファイルに書き込んで、テキスト ファイルの内容を読み取ることができる単一ページのアプリケーションを作成することです。

注注:

次の手順は、Visual Studio 2010 Express for Windows Phone 向けです。 Visual Studio 2010 Professional や Visual Studio 2010 Ultimate のアドインを使用している場合は、メニュー コマンドやウィンドウのレイアウトが多少異なる場合があります。

初めに、新しいプロジェクトを作成し、必要な分離ストレージ名前空間を追加する必要があります。

新しいプロジェクトを作成して名前空間を追加するには

  1. Visual Studio 2010 Express for Windows Phone で、[ファイル] メニューの [新しいプロジェクト] をクリックして新しいプロジェクトを作成します。

  2. [新しいプロジェクト] ウィンドウが表示されます。Visual C# のテンプレートを展開してから、Silverlight for Windows Phone のテンプレートを選択します。

  3. Windows Phone アプリケーション テンプレートを選択します。[名前] に選択した名前を入力します。

  4. [OK] をクリックします。[新しい Windows Phone アプリケーション] ウィンドウが表示されます。

  5. [ターゲットの Windows Phone のバージョン] メニューで、Windows Phone 7.1 が選択されていることを確認します。

  6. [OK] をクリックします。新しいプロジェクトが作成され、Visual Studio のデザイナー ウィンドウに MainPage.xaml が表示されます。

  7. MainPage.xaml のデザイナー ビューから、[ページ タイトル] を選択し、Text プロパティまたは XAML で直接、タイトルのテキストを files/folders に変更します。さらに、必要に応じて、アプリケーションのタイトル名を変更することもできます。

  8. 分離コード ページに次のリソースを追加して、次の名前空間を追加します。たとえば、既定の名前付け規則のメイン ページを使用している場合は、MainPage.xaml.cs を更新します。

    using System.IO;
    using System.IO.IsolatedStorage;
    
    

プロジェクトにコントロールを追加するには

  1. MainPage.xaml で、[ツールボックス] から、TextBox コントロールと Button コントロールをドラッグし、ページの上部にコントロールを配置します。次の図を参考にして、コントロールをスケーリングして位置付けます。

  2. TextBox の名前を txtWrite に変更し、Button の名前を btnWrite に変更します。

  3. TextBox について、コントロールの Text プロパティから、テキスト TextBox を削除し、コンテンツ プロパティで、ボタン テキストを Write に変更します。

  4. MainPage.xaml で、[ツールボックス] から、TextBlock コントロールと Button コントロールをドラッグし、ページの下部にコントロールを配置します。下の図を参考にして、コントロールをスケーリングして位置付けます。

  5. TextBlock の名前を txtRead に変更し、Button の名前を btnRead に変更します。TextBlock については、コントロールの Text プロパティから、テキスト TextBlock を削除し、コンテンツ プロパティで、ボタンのテキストを Read に変更します。

    AP_Core_IsoDesign

このセクションでは、btnWrite および btnRead クリック イベント ハンドラーにコードを追加して、アプリケーションでフォルダー構造とファイルを作成し、テキストをファイルに読み書きできるようにします。

ボタン イベント ハンドラーにコードを追加するには

  1. [btnWrite] ボタンをダブルクリックして、クリック イベントのイベント ハンドラーを追加します。MainPage.xaml.cs ファイルが開きます。

  2. 目的は、アプリケーションのファイルとフォルダを作成できる仮想ストアを取得するコードを追加することです。簡単なファイルおよびフォルダー階層を強調するため、フォルダーを作成し、次にそのフォルダー内にテキスト ファイルを作成します。btnWrite_Click イベント ハンドラーに次のコードを追加します。

    private void btnWrite_Click(object sender, RoutedEventArgs e)
    {
        // Obtain the virtual store for the application.
        IsolatedStorageFile myStore = IsolatedStorageFile.GetUserStoreForApplication();
    
        // Create a new folder and call it "MyFolder".
        myStore.CreateDirectory("MyFolder");
    
        // Specify the file path and options.
        using (var isoFileStream = new IsolatedStorageFileStream("MyFolder\\myFile.txt", FileMode.OpenOrCreate, myStore))
        {
            //Write the data
            using (var isoFileWriter = new StreamWriter(isoFileStream))
            {
                isoFileWriter.WriteLine(txtWrite.Text);
            }
        }
    }
    
    
  3. [btnRead] ボタンをダブルクリックして、クリック イベントのイベント ハンドラーを追加します。MainPage.xaml.cs ファイルが開きます。

  4. btnRead_Click イベント ハンドラーに次のコードを追加します。

    // This code opens and reads the contents of myFile.txt.
    private void btnRead_Click(object sender, RoutedEventArgs e)
    {
        // Obtain a virtual store for the application.
        IsolatedStorageFile myStore = IsolatedStorageFile.GetUserStoreForApplication();
    
        try
        {
            // Specify the file path and options.
            using (var isoFileStream = new IsolatedStorageFileStream("MyFolder\\myFile.txt", FileMode.Open, myStore))
            {
                // Read the data.
                using (var isoFileReader = new StreamReader(isoFileStream))
                {
                    txtRead.Text = isoFileReader.ReadLine();
                }
            }
    
        }
        catch
        {
            // Handle the case when the user attempts to click the Read button first.
            txtRead.Text = "Need to create directory and the file first.";
        }
    }
    
    
  5. [デバッグ] メニューを選択し、[デバッグ開始] をクリックしてアプリケーションを実行します。これによってエミュレーター ウィンドウが開き、アプリケーションが起動します。

TextBox コントロールにテキストを入力できるはずです。[書き込み] をタップし、次に [読み取り] をタップして、内容を [TextBlock] コントロールに表示させます。繰り返しますが、これは、アプリケーションの分離ストレージに領域を作成し、新しいファイルを作成して、そのファイルの内容を書き込み、読み取るプロセスを示しています。

デバイスでアプリケーションを実行している場合、アプリケーションを終了してから再起動します。[読み取り] ボタンを押すと、前回アプリケーションを実行したときから書き込んだ最後の値が表示されます。

AP_Core_IsoWrite

AP_Core_IsoRead

表示:
© 2015 Microsoft