WPF, обновление строки состояния в главном окне изнутри UserControl

У меня есть StatusBar в моем главном окне, и у меня также есть копия UserControl в моем главном окне. Из обработчиков событий в моем UserControl я хочу обновить StatusBar в главном окне. Каков будет лучший способ сделать это? Есть ли способ получить доступ к экземпляру моего главного окна от отправителя объекта или RoutedEventArgs e в обработчике событий в UserControl ?

Редактировать: Благодаря ответу Лукаса и этому туториалу я придумал следующее решение:

Добавлено в мой UserControl :

public delegate void UpdateStatusBarEventHandler(string message);

public event UpdateStatusBarEventHandler UpdateStatusBar;

Добавлено в конструктор моего главного окна после InitializeComponent :

uct_requiredFields.UpdateStatusBar += updateStatusBar;

И я добавил этот метод в главное окно:

private void updateStatusBar(string message)
{
    sti_mainStatus.Content = message;
}

Затем из моего UserControl , Чтобы обновить строку состояния, я могу сделать следующее:

if (null != UpdateStatusBar)
{
    UpdateStatusBar("woot, message");
}

5
задан Community 23 May 2017 в 12:17
поделиться