В моем ViewModel есть событие.
public class MyViewModel:ViewModelBase
{
...
public event EventHandler SomethingChanged;
private void FireEvent()
{
if (SomethingChanged != null)
SomethingChanged(this, EventArgs.Empty);
}
...
}
в моем View, я использовал EventTrigger для прослушивания события, чтобы вызвать действие.
<i:Interaction.Triggers>
<i:EventTrigger EventName="SomethingChanged" SourceObject="{Binding}">
<i:SomeAction/>
</i:EventTrigger>
</i:Interaction.Triggers>
Это работает отличнохорошо.Однако мне любопытно, есть ли вероятность утечки памяти?Поскольку мой вид создается по требованию, это означает, что элемент управления добавляется и удаляется из дерева визуалов на основе пользователя.Исходный объект (ViewModel) имеет более длительное время жизни, чем слушатель (View).Поэтому, используя приведенный выше код, будет ли событие по-прежнему иметь сильную ссылку на удаленный прослушиватель (просмотр)?