Tengo en mi ViewModel un evento.Eventos en ViewModel con System.Windows.Interactivity.EventTrigger, ¿es una referencia débil?
public class MyViewModel:ViewModelBase
{
...
public event EventHandler SomethingChanged;
private void FireEvent()
{
if (SomethingChanged != null)
SomethingChanged(this, EventArgs.Empty);
}
...
}
En mi vista, utilicé el EventTrigger para escuchar el evento para invocar una acción.
<i:Interaction.Triggers>
<i:EventTrigger EventName="SomethingChanged" SourceObject="{Binding}">
<i:SomeAction/>
</i:EventTrigger>
</i:Interaction.Triggers>
Funciona perfectamente bien. Sin embargo, tengo curiosidad si hay una posibilidad de pérdida de memoria. Como mi Vista se crea a pedido, lo que significa que el control se agrega y elimina del árbol Visual en función del usuario. El objeto fuente (ViewModel) tiene una vida más larga que el oyente (View). Por lo tanto, utilizando el código anterior, ¿el evento aún tendrá una fuerte referencia al oyente eliminado (Vista)?