2012-01-06 5 views
0

私のWebサービスから 'theme.xaml'というファイルをダウンロードし、App.Current.Resources.MergedDictionariesに追加しようとしています。私が抱えている問題は、キャッシュしているIsolatedStorageのファイルからResourceDictionaryを作成する方法がわかりません。IsolatedStorageからResourceDictionaryをロードする

私はこのような何かをしたいと思います:

 ResourceDictionary rd = new ResourceDictionary(); 
     rd.Source = new (Uri("isostore:/theme.xaml")); 
     App.Current.Resources.MergedDictionaries.Clear(); 
     App.Current.Resources.MergedDictionaries.Add(rd); 

しかし、私はソースを設定し、コールの「未指定のエラー」を得ます。私はこのようにウリでのストレージを扱うことができないと確信しています。しかし、これを行う正しい方法は何ですか?

+0

正確なエラーメッセージを投稿することはできますか?\ – MethodMan

答えて

0

私はあなたのコードが の行にもっと何かする必要がありますまた、設定XMLは、あなたがこの仕事を得ることができるかどうか試してみてください、あまりにも

ResourceDictionary rd = new ResourceDictionary(); 
rd.Source = new Uri("/isostore;/theme.xaml", UriKind.RelativeOrAbsolute); 
App.Current.Resources.MergedDictionaries.Clear(); 
App.Current.Resources.MergedDictionaries.Add(rd); 
+0

私はそれを試しただけで動作しません。ウリは、ロットエラーで吹く: テーマ{isostoreと、/theme-2123418883.xml} AbsolutePath「theme.AbsoluteUri」例外をスロー: 'theme.AbsolutePathは「のSystem.InvalidOperationException」 absoluteURIで型の例外をスロー'System.InvalidOperationException'タイプの などの... – John

0
using (var storage = IsolatedStorageFile.GetUserStoreForApplication()) 
{ 
    using (var stream = new IsolatedStorageFileStream("theme.xaml", FileMode.Open, storage)) 
    { 
     var xaml = XElement.Load(stream); 
    } 
} 

どのように見えるかを確認する必要があるだろうと信じています。 私はこの方法を使ってxmlファイルを読み込みました。 XElement.Load()の代わりにApplication.GetResourceStreamを使用してください。

関連する問題