Comment utiliser ResourceDictionary comme StaticResource dans Windows Phone 8
J'ai une application Windows Phone 7 qui je suis en train de créer un Windows Phone 8 version.
Dans l'application j'ai un ResourceDictionary défini dans un fichier XAML:
<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>
Ce ResourceDictionary est référencé dans l'Application.xaml:
<!--Application Resources-->
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Assets/Constants.xaml"/>
<!-- etc. -->
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
Et ensuite la partie la plus facile de le faire:
<TextBlock x:Name="ApplicationTitle" Text="{StaticResource AppName}"/>
Ci-dessus fonctionne parfaitement bien avec Windows Phone 7, toutefois, dans Windows Phone 8, il y a des Application.Resources
élément qui est <myNamespace:LocalizedStrings x:Key="LocalizedStrings"/>
qui, quand j'ai mon application ne compile pas car il se plaint de
Chaque entrée du dictionnaire doit être associée à une clé.
Alors je l'ai changé par un code à:
<!--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>
Maintenant j'ai un autre problème. Mon application compile mais quand il s'exécute, il jette un XamlParseException
:
Ne peut pas trouver une Ressource avec le Nom AppName
Tout cela parce que de LocalizedStrings
de ressources. Quelqu'un peut-il aider dans la réalisation de ce travail?
Par le chemin, j'ai le même problème avec les Convertisseurs de Valeur; si elles sont faites différemment j'apprécie si quelqu'un peut vous aider dans cette ainsi.
Merci d'avance.
OriginalL'auteur TheBlueSky | 2012-12-28
Vous devez vous connecter pour publier un commentaire.
Déplacer les chaînes localisées entrée dans l'application dictionnaire de ressources.
OriginalL'auteur Paul Annetts
Le code est correct comme il est, et il fonctionne parfaitement bien ici. Clairement, vous rencontrez d'autres problèmes, que ce que vous décrivez.
J'ai corrigé ma question. Dirait que ce problème existe aussi longtemps que
<myNamespace:LocalizedStrings x:Key="LocalizedStrings"/>
existe.OriginalL'auteur Claus Jørgensen