2011-07-28 5 views
0

Je suis nouveau pour le développement de Silverlight et le framework PRISM. Nous utilisons http://happynet.codeplex.com/ comme modèle. La localisation fonctionne bien si le texte de ressource est directement lié dans XAML. Mais cela ne fonctionne pas bien pour:Localisation dans Silverlight 4 application utilisant PRISM

  1. Textes dans les classes ViewModel.
  2. Grille d'en-tête Textes de colonne dans le code de View derrière.

Ils nécessitent un rechargement après le changement de langue. Comment peut-il être fait pour que le changement de texte se produise sur le changement de langue?

+0

Il est possible de changer tout le texte sans recharger? Jamais entendu parler, j'ai toujours rechargé l'application. Mais vous pouvez faire ce que vous voulez en utilisant les événements C#. – vorrtex

Répondre

0

Je ne connais pas grand-chose à Happynet car c'est la première fois que je vois le projet.

Cela dépend de la façon dont ils implémentent la localisation, mais si vous voulez une localisation dynamique (par exemple en sélectionnant une langue dans une combobox), cela peut être fait. Suivez les étapes suivantes pour le configurer:

http://vanderbiest.org/blog/2009/11/30/silverlight-resource-files-localization-language-specification/

Pour modifier dynamiquement, il vous suffit de régler le thread d'interface utilisateur en cours.

static void SetLanguage(string culture) 
    { 
     if (culture != System.Threading.Thread.CurrentThread.CurrentUICulture.TextInfo.CultureName) 
     { 
      System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(culture); 
     } 
    }