ローカル・ディスク上でのファイル操作
特殊フォルダ内のファイルを表示し、新規ファイルを保存する
今回は、ファイル操作のサンプルを2つ紹介します。
1つはローカルディスク上の特殊フォルダへのアクセスと書き込み、もう1つは、Silverlight 4で追加されたCOMオートメーションを用いた、任意のフォルダへのファイルの保存と読み込みです。
はじめに紹介するのは、特殊フォルダへのアクセスと書き込みのサンプルです。書き込みが可能なのは、MyDocuments、MyPictures、MyMusic、MyVideos等で、「My」の付いたフォルダに限られます。これらSpecialFolder(特殊フォルダ)の詳説についてはMicrosoft社Webサイトのヘルプなどを参照してください。
ここでは、ドキュメントフォルダ(MyDocuments)内にある既存のファイルを、ListBoxコントロール内に一覧表示します(図1)。
また、TextBoxコントロール内に文字列を入力し、任意のファイル名を付けた文書を、ドキュメントフォルダに保存することができます(図2)。
ここで再度「MyDocuments フォルダ内のファイル取得」ボタンをクリックすると、作成して保存したファイルを含む既存ファイルの一覧が表示されます。ファイルが選択された時は、その内容を別のTextBoxコントロール内に表示します(図3)。
プロジェクト・ファイルは、こちらからダウンロードできます。
図1: ListBoxに、MyDocumentsフォルダ内の既存ファイルを一覧表示する |
図2: テキストを入力し、ファイル名を入力して、MyDocouemntsフォルダ内に保存した |
図3: ListBoxに表示されている既存ファイルを選択した時は、その内容を表示する |
コントロールのレイアウトと、Trustedモードの設定
これまでのサンプル作成時と同様の手順で、新規Silverlight 4プロジェクト(プロジェクト名は「SL4_FileAccess」)を作成してください。プロジェクト依存関係も設定してください。
UserControlのPropertiesペインの[Layout]を展開して、Widthに800、Heightに600を指定します。Toolboxから、TextBlock、ListBox、TextBox、Label、Buttonコントロールを図4のようにレイアウトします。
ButtonコントロールのContentプロパティには、ボタン表面に表示する文字を指定します。TextBox1とTextBox2のAcceptsReturnプロパティにチェックを付けて、改行を許可して表示するようにします。また、TextWrappingプロパティには「Wrap」を、VerticalScrollBarVisibilityプロパティには「Auto」を指定しておきます。
図4: ListBox、TextBox、Label、Buttonコントロールをレイアウトする |
このサンプルは信頼されたTrustedモードのブラウザ外実行で動作させます。VS 2010のメニューから「Project/SL4_FileAccess Properties」を選択し、「Enable running application out of browser(アプリケーションのブラウザ外実行を有効にする)」にチェックを付けます。さらに、[Out-of-Browser Settings]をクリックして表示される「Out-of-Browser Settings」画面で、「Require elevated trust when running outside the browser」にチェックを付けます。
詳しい設定の手順および、デバッグの手順については、本連載第3回の記事を参照してください。以上の操作で書き出されるXAMLコードは省略します。