Я прочитал эту удивительную статью http://blogs.msdn.com/b/kashiffl/archive/2010/10/04/prism-v4-region-navigation-pipeline.aspx
Я сейчас использую Silverlight + Prism, сначала у меня это:
открытый класс ActionViewModel: IRegionMemberLifetime {
public ActionVIewModel() {}
public bool KeepAlive { get { return true; } }
}
, а затем простое представление
открытый частичный класс ActionsView: UserControl {public ActionsView () {InitializeComponent ();}
[Dependency]
public ActionViewModel ViewModel {get;set;}
}
В моем модуле Initialize у меня есть следующее
Container.RegisterType (ViewNames.DriverManagement.DriverActionView);
ТогдаЯ использую RegionManager.Regions ["RegionName"]. RequestNavigate (...), чтобы запросить это представление
Навигация работает, но конструктор ViewModel всегда срабатывает, когда я ухожу от него и возвращаюсь к этому представлению,Это означает, что каждый раз, когда я запрашиваю это представление, создается новый экземпляр, даже KeepAlive возвращает true.
Итак, я что-то здесь упустил?
Большое спасибо!