WindowsPhone8バージョンを作成しようとしているWindowsPhone7アプリがあります。
アプリでは、XAMLファイルで次のように定義されたResourceDictionaryがあります。
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib">
<sys:String x:Key="AppName">My App Name</sys:String>
<!-- etc. -->
</ResourceDictionary>
このResourceDictionaryは、App.xamlで次のように参照されます。
<!--Application Resources-->
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Assets/Constants.xaml"/>
<!-- etc. -->
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
そして、それを行うことの簡単な部分:
<TextBlock x:Name="ApplicationTitle" Text="{StaticResource AppName}"/>
上記はWindowsPhone7で完全に機能しますが、Windows Phone 8には追加のApplication.Resources
項目があります。これは<myNamespace:LocalizedStrings x:Key="LocalizedStrings"/>
、アプリを使用すると、不平を言うためにコンパイルされません。
各辞書エントリには、関連付けられたキーが必要です。
だから私はコードによって次のように変更しました:
<!--Application Resources-->
<Application.Resources>
<myNamespace:LocalizedStrings x:Key="LocalizedStrings"/>
<ResourceDictionary x:Key="MainDictionary">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Assets/Constants.xaml"/>
<!-- etc. -->
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
今、私は別の問題を抱えています。私のアプリはコンパイルされますが、実行すると:がスローされXamlParseException
ます
名前/キーAppNameのリソースが見つかりません
これはすべてLocalizedStrings
リソースが原因で発生します。誰かがその仕事をするのを手伝ってもらえますか?
ちなみに、私はバリューコンバーターについても同じ問題を抱えています。それらが異なって行われるならば、誰かがそれで同様に助けることができるならば、私は感謝します。
前もって感謝します。