예제 #1
0
 private void TraduireEcran(ITraducteur trad)
 {
     this.Title            = trad.Traduire("ConnexionTitre");
     lblNomJoueur.Content  = trad.Traduire("NomJoueur");
     lblLangue.Content     = trad.Traduire("Langue");
     rbHeberger.Content    = trad.Traduire("Heberger");
     rbRejoindre.Content   = trad.Traduire("Rejoindre");
     grpAcces.Header       = trad.Traduire("Acces");
     btnDemarrer.Content   = trad.Traduire("Demarrer");
     btnQuitter.Content    = trad.Traduire("Quitter");
     btnReplay.Content     = trad.Traduire("Replay");
     chkSpectateur.Content = trad.Traduire("EnSpectateur");
 }
예제 #2
0
        public DemarrageApplication(InfosEcranConnexion infos)
        {
            this.InitializeComponent();

            // Initialisation des différents champs de l'écran
            this.AdresseServeur    = infos.AdresseServeur;
            this.EstServeur        = infos.EstServeur;
            this.NomJoueur         = infos.NomJoueur;
            cboAdresse.ItemsSource = infos.ListeServeurs;
            cboAdresse.Text        = infos.AdresseServeur;

            // Ecoute spécifique du TextChanged de la combo cboAdresse
            DependencyPropertyDescriptor dpd = DependencyPropertyDescriptor.FromProperty(ComboBox.TextProperty, typeof(ComboBox));

            dpd.AddValueChanged(cboAdresse, cboAdresse_OnTextChanged);

            // On récupère toutes les langues disponibles & on affiche la bonne
            ITraducteur tradChoisi = null;

            _initialisationComboLangue = true;
            foreach (string cheminAssembly in Directory.GetFiles("lang", "*.dll"))
            {
                Assembly asm = Assembly.LoadFile(Path.Combine(Environment.CurrentDirectory, cheminAssembly));

                // Remplissage de la lstView par Recupération de toutes les classes implémentant ITraducteur
                foreach (Type t in asm.GetTypes())
                {
                    Type typeTrad = t.GetInterface("ITraducteur");
                    if (typeTrad != null)
                    {
                        ITraducteur traducteur = Activator.CreateInstance(t) as ITraducteur;
                        cboLangue.Items.Add(traducteur);
                        cboLangue.DisplayMemberPath = "LangueTraduction";
                        if (traducteur.LangueTraduction.Equals(infos.Langue))
                        {
                            tradChoisi = traducteur;
                        }
                    }
                }
            }
            if (!cboLangue.HasItems)
            {
                throw new ApplicationException("Aucune langue trouvée pour l'application");
            }

            if (tradChoisi == null)
            {
                cboLangue.SelectedIndex = 0;
            }
            else
            {
                cboLangue.SelectedItem = tradChoisi;
            }
            _initialisationComboLangue = false;
            TraduireEcran(cboLangue.SelectedItem as ITraducteur);

            this.EstClientEnModeLecture = false;

            txtNomJoueur.Focus();
            txtNomJoueur.SelectAll();
        }