Tôi có một StatusBar
trong cửa sổ chính của mình và tôi cũng có một bản sao của UserControl
trong cửa sổ chính. Từ trong các trình xử lý sự kiện trong số UserControl
, tôi muốn cập nhật StatusBar
trong cửa sổ chính. Điều gì sẽ là cách tốt nhất để làm điều này? Có cách nào để truy cập vào cá thể cửa sổ chính của tôi từ object sender
hoặc RoutedEventArgs e
trong trình xử lý sự kiện trong UserControl
không?WPF, cập nhật thanh trạng thái trong cửa sổ chính từ trong UserControl
Edit: nhờ lukas's answer và this tutorial, tôi đã đưa ra các giải pháp sau đây:
Thêm vào UserControl
tôi:
public delegate void UpdateStatusBarEventHandler(string message);
public event UpdateStatusBarEventHandler UpdateStatusBar;
Thêm vào constructor cửa sổ chính của tôi, sau khi InitializeComponent
:
uct_requiredFields.UpdateStatusBar += updateStatusBar;
Và tôi đã thêm phương pháp này cửa sổ chính của tôi:
private void updateStatusBar(string message)
{
sti_mainStatus.Content = message;
}
Sau đó, từ bên trong UserControl
của tôi, tôi có thể làm như sau để cập nhật các thanh trạng thái:
if (null != UpdateStatusBar)
{
UpdateStatusBar("woot, message");
}