Windows Phone 7 にリスト ボックスがあり、リスト ボックスに分離ストレージ ファイルのリストを表示したいのですが、リスト ボックスからファイルを選択すると、ファイルからコンテンツを取得できるはずです。
そのための私のコードは次のとおりです。
ListBoxItem lbi = (ListBoxItem)listBox1.SelectedItem;
string t = (string)lbi.Content;
using (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication())
using (var sr = new StreamReader(store.OpenFile(t, FileMode.Open, FileAccess.Read)))
{
textBlock2.Text = sr.ReadToEnd();
}
ファイルをリストにバインドするには:
var appstorage = IsolatedStorageFile.GetUserStoreForApplication();
string[] filename = appstorage.GetFileNames();
listBox1.ItemsSource = filename;
しかし、アプリケーションを試してみると、SelectionChanged
イベントでエラーが発生します:
での無効なキャスト例外
ListBoxItem lbi = (ListBoxItem)listBox1.SelectedItem;
最終的な問題は、SelectionChanged
イベントが発生したときにリスト ボックス内の正確なファイル名を取得して、そのファイル名をストリーム リーダーで使用できるようにするにはどうすればよいかということです。