У меня есть фрагмент кода, который динамически создает Windows Forms во время выполнения с использованием подхода тега lookup-method в Spring.NET. По сути, у меня есть фабричный класс для создания любого количества форм, см. Фрагмент файла конфигурации ниже.
<object id="frmListView" type="GUI.View.ListView, MMM" singleton="false">
<property name="MdiParent" ref="frmMainForm" />
</object>
<object id="frmListViewController" type="Controller.View.ListView, MMM">
<listener event="Search" method="frmListView_Search">
<ref object="frmListView"/>
</listener>
</object>
<object id="frmListViewFactory" type="GUI.ListViewFactory, MMM">
<lookup-method name="createView" object="frmListView" />
</object>
Проблема в том, что, поскольку frmListView
создается динамически, похоже, что listener
-tag не привязывается, то есть поисковое событие не будет привязано ни к одному прослушивателю событий. Очевидно, что я могу решить эту проблему, выполнив привязку в коде, но я хотел бы знать, есть ли способ сделать это в файле контекста?
Я нахожу это немного странным, поскольку вся идея фабрики lookup-method
состоит в том, чтобы создать созданный экземпляр frmListView
с поддержкой Spring, и это в некоторой степени, то есть свойство MdiParent
установлено, как и ожидалось, но, по-видимому, ссылка на слушателя в синглтоне frmListViewController
не разрешена.
Любая помощь по этому вопросу будет принята с благодарностью.
С уважением, Ола