Сделать меню во время выполнения для приложения WPF в C#
В этом примере показано, как вы можете создавать меню во время выполнения и добавлять их в приложение WPF. Обычно вы создаете пользовательский интерфейс программы WPF во время разработки с использованием редактора XAML, но все, что вы можете сделать в XAML, вы также можете сделать в коде, если это необходимо.
Следующий код создает меню с некоторыми пунктами меню во время выполнения. Он дает элементы меню ускорители и всплывающие подсказки и соединяет их с обработчиками событий.
private void btnMakeMenus_Click(object sender, RoutedEventArgs e) { // Сделать главное меню. Menu mainMenu = new Menu(); grdContent.Children.Add(mainMenu); mainMenu.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; mainMenu.VerticalAlignment = System.Windows.VerticalAlignment.Top; // Создаем меню «Файл». MenuItem fileMenuItem = new MenuItem(); fileMenuItem.Header = "_File"; mainMenu.Items.Add(fileMenuItem); // Создаем открытый элемент меню «Файл». MenuItem openMenuItem = new MenuItem(); fileMenuItem.Items.Add(openMenuItem); openMenuItem.Header = "_Open"; openMenuItem.Click += openMenuItem_Click; // Дайте открытому элементу всплывающую подсказку. ToolTip openToolTip = new ToolTip(); openMenuItem.ToolTip = openToolTip; openToolTip.Content = "Open a new file"; // Сделайте пункт выхода из меню «Файл». MenuItem exitMenuItem = new MenuItem(); fileMenuItem.Items.Add(exitMenuItem); exitMenuItem.Header = "E_xit"; exitMenuItem.Click += exitMenuItem_Click; // Дайте элементу Exit всплывающую подсказку. ToolTip exitToolTip = new ToolTip(); exitMenuItem.ToolTip = exitToolTip; exitToolTip.Content = "End the program"; } private void openMenuItem_Click(object sender, RoutedEventArgs e) { MessageBox.Show("Open a new file here"); } private void exitMenuItem_Click(object sender, RoutedEventArgs e) { MessageBox.Show("Goodbye!"); this.Close(); }
Сначала код создает объект Menu и добавляет его в основной элемент управления Grid. Он добавляет элемент меню Файл в коллекцию Menu объекта Menu.
Далее код создает элемент меню для представления команды Open меню File и добавляет его в коллекцию Items элемента меню File. Он добавляет метод openMenuItem_Click в качестве обработчика события для события Click нового элемента. Затем код создает ToolTip и устанавливает для него свойство ToolTip элемента меню Open.