Сделать меню во время выполнения для приложения 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.
