ローカル・ディスク上でのファイル操作

2010年6月16日(水)
PROJECT KySS

特殊フォルダ内のファイルを表示し、新規ファイルを保存する

今回は、ファイル操作のサンプルを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コードは省略します。

四国のSOHO。薬師寺国安(VBプログラマ)と、薬師寺聖(デザイナ、エンジニア)によるコラボレーション・ユニット。1997年6月、Dynamic HTMLとDirectAnimationの普及を目的として結成。共同開発やユニット名義での執筆活動を行う。XMLおよび.NETに関する著書や連載多数。最新刊は「Silverlight実践プログラミング」両名とも、Microsoft MVP for Development Platforms - Client App Dev (Oct 2003-Sep 2012)。http://www.PROJECTKySS.NET/

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています