29 mars 2024

[Tip] Accéder à une Resources.resw depuis le code Behind

Si on définit dans le fichier Resources.resw une localisation directement liée à un contrôle comme par exemple :
resources

Si on souhaite récupérer cette traduction depuis le code et bien ça marche pas :

var resourceLoader= new Resources.ResourceLoader();
string myText = resourceLoader.GetString("txtTitle.Text");
//myText = "" !!!!

MSDN


En effet MSDN dit clairement « The GetString method cannot retrieve resources qualified with a property identifier.  » : https://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh965323.aspx

Pourtant il y a une astuce


L’astuce et d’utiliser un slash à la place du point

var resourceLoader= new Resources.ResourceLoader();
string myText = resourceLoader.GetString("txtTitle/text");

Il convient qu’il ne doit pas y avoir d’autre traduction nommé seulement « txtTitle » dans le fichier Resources.resw

Laisser un commentaire