protected void InvokeViewLoadEvent(IView view, ViewLoadStateEvent viewLoadStateEvent)
{
if (_lastInvokedViewLoadStateEvent == viewLoadStateEvent)
{
return;
}
if (view == null)
{
return;
}
EventHandler<ViewLoadEventArgs> handler;
switch (viewLoadStateEvent)
{
case ViewLoadStateEvent.Loading:
handler = ViewLoading;
break;
case ViewLoadStateEvent.Loaded:
handler = ViewLoaded;
break;
case ViewLoadStateEvent.Unloading:
handler = ViewUnloading;
break;
case ViewLoadStateEvent.Unloaded:
handler = ViewUnloaded;
break;
default:
throw new ArgumentOutOfRangeException("viewLoadStateEvent");
}
if (handler != null)
{
handler(this, new ViewLoadEventArgs(view));
}
_lastInvokedViewLoadStateEvent = viewLoadStateEvent;
}
#endregion