現在、MVVMLightフレームワークを使用してWP7アプリを構築しています。app.xamlにリソースディクショナリを追加したいのですが、追加しても失敗します。これがapp.xamlからの抜粋です
<Application.Resources>
<!--Global View Model Locator-->
<vm:ViewModelLocator x:Key="Locator"
d:IsDataSource="True" />
<!--Merged Resource Dictionaries-->
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="View/StyleResourceDictionary.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
キーを持つViewModelLocatorを使用しているため、キーの有無にかかわらずリソースを混在させることができないことを警告するエラーが表示されます。リソースディクショナリにキーを追加した後、次のようになります。
<ResourceDictionary x:Key="resourceDictionary">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="View/StyleResourceDictionary.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
リソースディクショナリには、「TitleTemplate」というキーを持つスタイルがあります。いずれの場合も、ビューの1つからリソースディクショナリを参照しようとすると失敗します。私の見解からのサンプルコードは以下の通りです:
<TextBlock Name="TB_ContactNameLabel"
Text="contact"
Style="{StaticResource TitleTemplate}"/>
デザイナーはすぐに「リソース'TitleTemplate'を解決できませんでした」というエラーを表示します。リソースディクショナリのキー(つまり、resourceDictionary)を参照すると、エラーはスローされませんが、明らかに何も実行されません。最後に、app.xamlの代わりに、resourceDictionaryをそのリソースのページに直接追加すると、すべてが正常に機能します。使用する予定の各ビューに追加する必要はありません。ここで何かが足りませんか?