public void CleanUp()
{
#if SILVERLIGHT
for (int i = 0; i < _viewStacks.Count; i++)
{
var viewStack = _viewStacks[i];
if (viewStack.IsOutdated)
{
viewStack.ViewStackLoaded -= OnViewStackLoaded;
viewStack.ViewStackUnloaded -= OnViewStackUnloaded;
viewStack.Dispose();
_viewStacks.RemoveAt(i--);
}
else
{
viewStack.CheckForOutdatedChildren();
}
}
#else
for (int i = 0; i < _views.Count; i++)
{
var view = _views[i];
if (!view.IsAlive)
{
view.Loaded -= OnViewInfoLoaded;
view.Unloaded -= OnViewInfoUnloaded;
_views.RemoveAt(i--);
}
}
#endif
}