У меня есть очень интересная задача, с которой мне нужна помощь. Описание выглядит следующим образом:
У меня есть пользовательский элемент управления (SomeUserControl), который я использую в главном окне. Я пишу свое приложение полностью на SomeUserControl, а в главном окне размещается SomeUserControl и ничего больше.
Прямо сейчас у меня есть кнопка выключения (в SomeUserControl), которая должна закрывать главное окно. Причина этого в том, что я не хочу, чтобы SomeUserControl закрывал само приложение, а запускал событие от SomeUserControl, и главное окно его получает, а главное окно закрывает приложение вместо SomeUserControl.
Как мне это сделать? Я не знаком с концепцией создания и обработки настраиваемых событий, поэтому, если кто-то сможет объяснить это словами и кодом в качестве примера, я буду вам очень благодарен!
Edit: Вот мой код.
(в окне 2)
публичное событие CloseApp как обработчик событий
Private Sub CancelButton_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles CancelButton.Click
DialogResult = False
RaiseEvent CloseApp(Me, New EventArgs)
End Sub
(в главном окне) Public loginPage As New LoginPage
Public Sub New()
InitializeComponent()
AddHandler loginPage.CloseApp, AddressOf Me.ShutDownJobChangeWindow
End Sub
Private Sub ShutDownJobChangeWindow(ByVal sender As Object, ByVal e As EventArgs)
Application.Current.Shutdown()
End Sub
Цель: я хочу закрыть приложение, когда я нажимаю кнопку «Отмена» в окне 2, но я не хочу делать это таким образом, чтобы окно 2 закрывалось само, а отправляло какое-то уведомление на главную Окно и Главное окно закрывает приложение.