// -------------------------------------------------------------------------
        // Programme principal
        // -------------------------------------------------------------------------
        public MainWindow()
        {
            // On met les Recent Registry (from Parameter File) dans une liste
            RecentsRegs.Add(Properties.Settings.Default.Recent_1);
            RecentsRegs.Add(Properties.Settings.Default.Recent_2);
            RecentsRegs.Add(Properties.Settings.Default.Recent_3);
            RecentsRegs.Add(Properties.Settings.Default.Recent_4);
            RecentsRegs.Add(Properties.Settings.Default.Recent_5);
            RecentsRegs.Add(Properties.Settings.Default.Recent_6);

            InitializeComponent();
            // Cette instruction permet de rendre les classes visibles depuis le XAML
            DataContext = this;
            // On charge le dictionnaire des unités préférées
            UnitDictionnary = new KeyUnitDictionnary("Config.xml");
            // On initialise le parseur
            Parser1 = new RegFileParser(RegistryTree1, UnitDictionnary);
            Parser2 = new RegHiveParser(RegistryTree1, UnitDictionnary);

            // -----------------------------
            // On definit les bindings:
            // Normalement on devrait pouvoir mettre ceci dans le XAML du TreeView, mais ça marche pas:
            // ... ItemsSource="{Binding Source=RegistryTree1}" ...
            // ... ItemsSource="{Binding Source=StaticResource RegistryTree1}" ...
            // -----------------------------
            // Bind du StackPanel qui contient la liste des Recent Registry
            RecentRegData.ItemsSource = this.RecentsRegs;
            // Bind du RegistryTree avec le TreeView de l'affichage
            TreeView1.ItemsSource = RegistryTree1;

            Lb_SearchedWordCount.Text = "";
        }
        private void RefreshLengthStats(RegFileParser parser)
        {
            Int32 Moyenne     = parser.GetAverageLength(); // A calculer en premier
            Int32 ModalLength = parser.GetModalLabelLength();
            Int32 EcartType   = parser.GetStandardDeviation();
            Int32 Nombre      = parser.NbNodes + parser.NbKeys;
            // Les stats disent que 84% de la population se trouve entre 0 et Moy + EcType
            Int32 SD84 = Moyenne + EcartType;
            // Les stats disent que 98% de la population se trouve entre 0 et Moy + 2 x EcType
            Int32 SD98 = Moyenne + 2 * EcartType;

            // On met à jour les textes affichés dans l'UI
            nbItems.Text      = Nombre.ToString();
            tbAvLength.Text   = Moyenne.ToString() + " chars";
            nbAvLength.Text   = parser.GetNbOfItemsLengthEqualsTo(Moyenne).ToString();
            tbModelength.Text = ModalLength.ToString() + " chars";
            nbModelength.Text = parser.GetNbOfItemsLengthEqualsTo(ModalLength).ToString();
            tbSD.Text         = EcartType.ToString() + " chars";
            tbSD84.Text       = SD84.ToString() + " chars";
            nbSD84.Text       = parser.GetNbOfItemsLengthLowerThan(SD84).ToString();
            tbSD98.Text       = SD98.ToString() + " chars";
            nbSD98.Text       = parser.GetNbOfItemsLengthLowerThan(SD98).ToString();
        }