Этот код вызывает OnLoaded
, прежде чем присоединить обработчик события:
public Window1() {
InitializeComponent();
FileManager fm = new FileManager();
// The next line attaches a handler, but
// not until the constructor finishes
}
, который выполняет следующее:
public FileManager() {
Name = "this is the test file manager";
OnLoaded(this, new FileManagerArgs("no errors")); // No handler yet!
}
Чтобы это исправить, требуется делегат слушателя в качестве параметра конструктора FileManager
и присоедините его перед вызовом OnLoaded
:
public FileManager(LoadedHandler handler) {
this.OnLoaded += handler;
Name = "this is the test file manager";
OnLoaded(this, new FileManagerArgs("no errors"));
}