У меня есть 2 области в приложении Silverlight, использующих призму 4 и вид основной оболочки Unity, область Аутентифицированная и Неаутентифицированная область, и пункт меню.
В аутентифицированной области есть многобольше субрегионов в зависимости от представления, внедренного в него.
При загрузке приложения мне будет отображаться экран входа в систему «Неаутентифицированный регион», при входе я буду представлен в области Аутентифицированный.
Когда я нажимаю на кнопку выхода из меню, мне снова будет представлен вид входа в систему.
Но когда я вхожу во второй раз, мой существующий вид загружается в аутентифицированном регионевсе еще там.
Я попытался при выходе из системы выполнить следующий код, чтобы удалить все представления из этого региона, но представления, извлеченные из контейнера, все еще являются существующими представлениями.
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я на самом деле получаю какой-то региональный ключ не найден ошибка, когда я вызываю запрос навигации по какой-то причине, но я думаю, что основная проблемас контейнером.
Как я могу сказать единство, чтобы избавиться от всех представлений?