Je voudrais définir la culture d'une application WPF à un spécifique sur la base des préférences de l'utilisateur. p>
Je peux le faire pour le fil actuel via thread.CurrentThread.current (UI) culture code>, mais y a-t-il un moyen de le faire globalement pour l'application (il affecte donc tous les threads par défaut) ? p>
5 Réponses :
Il n'y a aucun moyen de le définir pour tous les threads de l'application, cependant, si vous créez les threads de votre application, vous pouvez définir la culture pour tout le monde comme vous l'avez mentionné ci-dessus
pour définir la culture sur la principale. Application Utilisez le code d'extraction suivant: p>
Comment puis-je définir ceci dans app.xaml.cs? Définissez cette cultureInfo pour tout fil de ce projet?
Essayez de mettre ... dans votre fichier CSPROJ. p> p>
ou vous pouvez essayer ceci:
Vous devez le faire au démarrage de l'application avant de charger l'arborescence visuel.
Vous devez également faire system.windows.documents.textelement code> pour attraper
textblock code> éléments) qui ne font pas ' t hériter de
FrameworkElement code>.
ou essayer de construire une propriété attachée appropriée comme celle-ci
Ok, c'est ce que j'utilise afin de vous assurer que toute mon application est dans une culture en US. afin de faire un seul fil dans une culture que vous pouvez faire p>
Vous devez également faire system.windows.documents.textelement code> pour attraper des balises
textblock code> éléments) qui n'hérent pas de
FrameworkElement code>.
GRHM que voulez-vous dire?
J'ai des sections dans mon application qui ressemblent à:
framewradyement.languageproperty.overridemetadata (typeof (sy stem.windows.documen tpostelement), nouveau frameworkproperTymetadata (xmllanguage.getlanguage (cultureinfo.currentculture.ietflangugeg))); code> ainsi que les lignes que nous avons mentionnées. La course n'hérite pas de FrameworkElement (voir msdn.microsoft.com/en-us/library/... )
Malheureusement, cultureInfo.defultthreadCurrentCulture code> n'est pas disponible avant .NET 4.5.