В моем приложении WPF я указываю Application.Resource, как показано здесь:
<Application x:Class="MyApp" [...]>
<Application.Resources>
<local:MyData x:Key="MyData">
</Application.Resources>
</Application>
У меня есть класс MyData
, который в настоящее время выполняет всю свою инициализацию (включая загрузку данных из файла).) в своем конструкторе.Я считаю это плохой формой, так как я пришел из C ++ фона, где конструкторы должны быть минимальными.
Я подозреваю, что хочу, чтобы класс MyData прослушивал событие, что-то вроде "AfterResourcesLoaded", но яЯ не смог найти какое-либо описание этого при поиске в MSDN.
Прав ли я, что слишком много работы в конструкторе - это дурной тон в C #, как и в C ++?Или допустимо выполнять значительную работу в конструкторе?
Как зарегистрировать обработчик событий в MyData в XAML, чтобы я мог выполнять необходимую работу, когда событиесработало, после того, как объект был построен?
(или, может быть, я полностью на неправильном пути? С благодарностью рассмотрены альтернативные идеи.)