как использовать IRegionMemberLifetime без MEF? - PullRequest
0 голосов
/ 01 февраля 2011

Я прочитал эту удивительную статью 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.

Итак, я что-то здесь упустил?

Большое спасибо!

...