Используя отдельный класс, который делается повторно используемым, нужно передать ему функцию, которая будет вызываться при событии щелчка из контекстного меню ...
Проблема: Функции не являются типом EventHandlers .... также для разных EventHandlers требуются разные параметры внутри ... например, OnClose для кнопки выхода ....
Редактировать:
В классе X
public void AddMenuItem(String name, EventHandler target )
{
MenuItem newItem = new MenuItem();
newItem.Index = _menuItemIndex++;
newItem.Text = name;
newItem.Click += target;
_contextMenu.MenuItems.Add(newItem);
}
В Wpf:
addToTray.AddMenuItem("&Exit", Exit);
Я хотел бы, чтобы он ссылался на следующий метод, но на этом этапе любой метод подойдет.
private void ShouldIExit(object sender, System.ComponentModel.CancelEventArgs e)
{
// checks if the Job is running and if so prompts to continue
if (_screenCaptureSession.Running())
{
MessageBoxResult result = System.Windows.MessageBox.Show("Capturing in Progress. Are You Sure You Want To Quit?", "Capturing", MessageBoxButton.YesNo);
if (result == MessageBoxResult.No)
{
e.Cancel = true;
return;
}
}
_screenCaptureSession.Stop();
_screenCaptureSession.Dispose();
}