1

辞書ファイルをリソースとしてプロジェクトに埋め込んで、別個のファイルではなくアプリケーションの一部にしたいと思っています。辞書を読み込む関数は、ファイルへのパスとしてURiまたは文字列のいずれかをとります。 (例:spellChecker.MainDictionary.LoadAsync(URiToMyDictionaryFile);)。C#Silverlight - 「リソース」として設定したファイルにアクセスするにはどうすればよいですか?

「リソース」または「埋め込みリソース」としてファイルセットにアクセスするにはどうすればよいですか?また、2つの違いは何ですか?

目的はファイルをアプリケーションの一部として持っているだけなので、アプリケーションの配布時にファイルが含まれているかどうかを心配する必要はありません。

もう一度おねがいします!

-Sootah

答えて

0

ビューのシルバーの視点から「埋め込まれたリソース」と「リソース」との違いは、Silverlightは、それを使用しない「埋め込まれたリソース」にアクセスすることができないということです。ファイルにアクセスするには

は、「リソース」あなたは、アセンブリの名前を追加する必要がプラスとしてのdllアセンブリに追加「;コンポーネント」にアクセスするウリの最初の要素として: -

spellChecker.MainDictionary.LoadAsync(new Uri("/yourProjectName;component/yourDictionary.dic",UriKind.Relative)); 

XAPを構築している場合(Silverlightライブラリを作成していない場合)は、「リソース」の代わりに「コンテンツ」を使用することを検討してください。これには、ファイルをdllに格納するのではなく、dllの横にXAPの一部として含めます。

+0

何らかの奇妙な理由のために、それはまだ私のために働いていません。ファイルをプロジェクトに追加し、リソースとして設定し、次のコードを使用しました。 'Uri dctUri = new Uri("/SpellCheckTestPrj; component/C1Spell_en-US.dct "、UriKind.Relative); spellChecker.MainDictionary.LoadAsync(dctUri); ' このようにロードしようとすると、見つからないと表示されます。私は投げられたエラーでメッセージボックスをポップアップするためにプロジェクトをコーディングしました。ここではスクリーンショットを投稿しました:http://www.tweaksforgeeks.com/shatner/DctLoadError.png 私が参照している画像やその他のものその方法はXAMLでうまく動作します。 – Sootah

+0

プロジェクト構造のルートにロードしようとしているリソースディクショナリか、フォルダ内にあるリソースディクショナリですか?たとえば、SilverlightProject> ResourcesFolder> dictionary.xamlのような設定の場合、Uriは "SilverlightProject; component/ResourcesFolder/dictionary.xaml"になります – avanek

+0

ええ、それは根本です。 – Sootah

関連する問題