I have an 2 regions in my silverlight application leveraging prism 4 and unity main shell view, the Authenticated region and Non-authenticated region, and a menu item.
Within the authenticated region, there are a lot more sub regions depending on the view injected into it.
On load of the application, I will be presented with the login screen "Non-authenticated region", when login, I will be presented in the Authenticated region.
When I click on the logout button on the menu, I will again be presented with the login view.
But when I login for the second time, my existing view loaded within the authenticated region is still there.
I tried the following code on logout, to remove all views from that region, but the views retrieved from the container is still the existing view..
var regions = this.RegionManager.Regions;
foreach (var region in regions)
{
if (region.Name == this.AuthenticatedRegionName)
{
var views = region.Views;
foreach(var view in views)
{
region.Remove(view);
}
}
}
I am actually getting some region key not found error when I call request navigate for some reason, but I think the main issue is with the container.
How can I tell unity to dispose all views?