5
我的主窗口中有一個StatusBar
,我的主窗口中也有一個UserControl
的副本。從我的UserControl
事件處理程序中,我想在主窗口中更新StatusBar
。這樣做的最好方法是什麼?有沒有辦法在UserControl
的事件處理程序中從object sender
或RoutedEventArgs e
訪問主窗口的實例?WPF,在UserControl內更新主窗口中的狀態欄
編輯:感謝lukas's answer和this tutorial,我想出了以下解決方案:
添加到我的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");
}