Découvrir Windows Presentation Foundation

Récupérer le dictionnaire de ressources dans le code .NET

Testez gratuitement nos 1304 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Utilisez une méthode un peu détournée pour récupérer votre dictionnaire de ressources et l'utiliser dans votre code.
05:57

Transcription

Donc, ici je vais créer une variable statique de façon à pouvoir l'appeler avec la classe App. Pour me donner bonne conscience j'ajoute le modificateur internal pour dire au moins ça sera visible que à l’intérieur de mon assembly, ok ça vaut ce que ça vaut. J'en fait un dictionnaire, donc un générique de string, string que je vais appeler, par exemple, Localized. C'est comme ça que j'ai fait dans mon application. Et c'est un nombre, donc aussi pour me protéger j'ai un get public, mais je fais un setter uniquement privé, parce que c'est uniquement dans cette classe et en l’occurrence dans ce gestionnaire d'événement que je vais gérer l’alimentation de ma collection. Je vais faire une variable temporaire locale pour représenter mon dictionnaire de ressources. Je vais faire un Resource Dictionary de façon à pouvoir récupérer le contenu de mon dictionnaire de ressources, c'est-à-dire ceci et ensuite l’injecter dans mon dictionnaire. Le dictionnaire de ressources peut être alimenté par sa propriété source à laquelle je vais donner une adresse. La source, c'est un identifiant de type URI : Uniform Resources Identifier. En plus, il y a une syntaxe un peu particulière, je vais vous montrer. C'est une syntaxe qui est appelée Pack URI et qui est utilisée dans WPF. Alors, ici il y a un petit peu de documentation sur le Pack URI, mais il y a une notation spécifique de l'URI. Donc, vous trouvez ici dans la notation des exemples. La chose que je vais rajouter, c'est l'information de component qui spécifie que l'assembly qui est référencé, c'est l'assembly local. Il faut faire comme ça, donc, on va faire comme ça. Je vais, donc, dire que ma source est un URI. Je vais créer une nouvelle instance d'URI et dans le constructeur je vais lui dire que mon URI est donc, je vais prendre ça et puis je changerai la chaîne apès coup. Voilà, je sais que c'est une URI, donc, on va utiliser plutôt des slashs. Je vais être ici, j'ai indiqué clairement mon assembly, donc, le nom de l'assembly ça veut dire SQLTrismegiste, comme ceci. Je vais dire point-virgule et je vais dire component. Deuxième élément, puisque je n'en ai pas fini avec mon constructeur de l'URI, je vais dire que le chemin, si je regarde les différentes surcharges de mon constructeur, je vais mettre une virgule, pour que ça m'apparaisse, eh bien, j'ai une surcharge qui dit quel est le type d'URI. UriKind, je vais ajouter ça ici. Je vais dire que c'est un chemin relatif, ça c'est une bonne chose. Maintenant que j'ai modifié mon ressource XAML, je sais que son contenu ne contient que des chaînes. On s'en souvient, je m'assure de ça, tout va bien. Donc je vais pouvoir faire rapidement un peu de link. Je vais dire à mon Dictionnaire Localized donc avec le L majuscule qui est donc ici. Je vais lui attribuer le contenu de mon Resource Dictionary qui est ici. Je vais récupérer les clés, ça c'est la liste des clés, je vais faire un cast de string, donc, je vais transformer toute cette liste clés en deux listes de string. C'est une méthode. Je vais convertir ça en dictionnaire et je vais passer puisque je suis en link des expression lambda de façon à définir ici quelle est la clé. Comme je suis dans la liste de clés, la clé c'est donc moi-même. Deuxième expression lambda pour dire quelles sont les valeurs. Donc, je prends le paramètre de mon expression lambda, je convertis en string le résultat du Localized avec son index. J'y reviens dans une seconde et ce que je suis en train de faire, c'est donc de dire : prends-moi Localized, qui est une resource dictionary, tu me prends les clés, tu convertis cette liste de clés en une liste de string. Tu prends cette liste de string et tu convertis ça en dictionnaire en créant une clé avec chaque string et la valeur, eh bien tu vas chercher dans Localized, à cet index, donc par rapport à la clé, sa valeur, tu la convertis en string et ça me fait un résultat de dictionnaires de string de string. OK ? Voilà, qui devrait suffire. Ensuite je vais l'utiliser quelque part ! Donc, par exemple, ici, mon message, je vais prendre n'importe quelle chaîne. Un message comme : « vous devez saisir un nom de serveur ». Donc je garde ça et on va tester ça vite fait. C'est-à-dire qu'au lieu de faire un Show message je fais un show de App.Localized et je passe en index, la clé qui va me retrouver la valeur. OK ? On essaye ça, donc, il suffira de faire un clic. Voilà, j'ai mon événement, et vous devez saisir un nom de serveur. J'ai gardé l'autre « Show message ». Voila le deuxième, celui qui nous intéresse. Pas mal, non ?

Découvrir Windows Presentation Foundation

Améliorez la qualité de vos interfaces graphiques avec WPF (Windows Presentation Foundation). Découvrez le langage XAML, définissez votre interface graphique manuellement, etc.

3h12 (40 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :12 mai 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !