void Ajouter_menu() { Window window1 = new Fenetre_intitule_du_menu(); window1.ShowDialog(); if (Fenetre_intitule_du_menu.str_intitulé != "") { Border border = (Border)stack_conteneur.Children[0]; StackPanel stack_apercu = (StackPanel)border.Child; Border cadre_du_menu = (Border)stack_apercu.Children[0]; StackPanel stack_barre_menu = (StackPanel)cadre_du_menu.Child; ComboBox menu = new ComboBox(); List <string> liste = new List <string> { Fenetre_intitule_du_menu.str_intitulé, "Ajouter un sous-menu" }; menu.ItemsSource = liste; menu.SelectedIndex = 0; menu.IsEditable = true; menu.SelectionChanged += ((e, EventArgs) => { if (menu.SelectedItem != null) { if (menu.SelectedItem.ToString() == "Ajouter un sous-menu") { Window window = new Fenetre_ajouter_sous_menu(); window.ShowDialog(); if (Fenetre_ajouter_sous_menu.str_intitulé != "") { Ajouter_sous_menu(menu, stack_barre_menu, liste); } } } }); menu.MouseLeftButtonUp += ((e, EventArgs) => { if (menu.Text != "") { List <string> _liste = (List <string>)menu.ItemsSource; Window window = new Fenetre_gerer_liens(menu.Text, _liste); window.ShowDialog(); } }); stack_barre_menu.Children.Add(menu); m++; } }
void Ajouter_sous_menu(ComboBox menu, StackPanel stack_barre_menu, List <string> liste) { //int position_du_combobox = stack_barre_menu.Children.IndexOf(menu); stack_barre_menu.Children.Remove(menu); liste.Remove("Ajouter un sous-menu"); liste.Add(Fenetre_ajouter_sous_menu.str_intitulé); liste.Add("Ajouter un sous-menu"); ComboBox menu2 = new ComboBox(); menu2.ItemsSource = liste; menu = menu2; menu.SelectedIndex = 0; menu.IsDropDownOpen = true; menu.IsEditable = true; menu.SelectionChanged += ((e, EventArgs) => { if (menu.SelectedItem != null) { if (menu.SelectedItem.ToString() == "Ajouter un sous-menu") { Window window = new Fenetre_ajouter_sous_menu(); window.ShowDialog(); if (Fenetre_ajouter_sous_menu.str_intitulé != "") { Ajouter_sous_menu(menu, stack_barre_menu, liste); } } } }); menu.MouseLeftButtonUp += ((e, EventArgs) => { if (menu.Text != "") { List <string> _liste = (List <string>)menu.ItemsSource; Window window = new Fenetre_gerer_liens(menu.Text, _liste); window.ShowDialog(); } }); stack_barre_menu.Children.Add(menu); //stack_barre_menu.Children[position_du_combobox] = menu; }