Я пытался соединить два viewmodels
друг с другом и в итоге использовал static events
.Вот краткий обзор того, что я получил.
MainViewModel
ChildViewModel
Я пытался создать экземпляр ChildViewModel в конструкторе MainViewModel
ChildViewModel childViewModel;
public MainWindowViewModel()
{
childViewModel = new ChildViewModel();
childViewModel.TextStatusChanged += ChildViewModel_TextStatusChanged;
}
Но этот подход не удался, потому что созданный здесь экземпляр ChildViewModel
заканчивался завершением области действия, а также экземпляром ChildViewModel
, которыйбыл создан в связанном виде, он полностью отличается от того, который я создал в MainViewModel
.
. Затем я изменил его, чтобы использовать статические события, подобные этому
public MainWindowViewModel()
{
ChildWindowViewModel.TextStatusChanged += ChildViewModel_TextStatusChanged;
}
Это работало как шарм, нопосле небольшого чтения я вижу, что все люди говорят, что статические события плохие, потому что они могут привести к утечке памяти.
Какие альтернативы статическим событиям я могу использовать, или как я могу присоединить тот же экземпляр viewmodel
провести одно и то же событие.