2010-05-27 2 views
0

에서이 제품의 모듈에 ModuleInit.cs입니다PRISM보기 사출/네비게이션 같은 모듈

다음
public class ModuleInit : IModule 
{ 
    private readonly IUnityContainer _container; 
    private readonly IRegionManager _regionManager; 

    public ModuleInit(IUnityContainer container, IRegionManager regionManager) 
    { 
     _container = container; 
     _regionManager = regionManager; 
    } 

    #region IModule Members 
    public void Initialize() 
    { 
     App app = (App)Application.Current; 
     _regionManager.RegisterViewWithRegion(RegionNames.ModuleRegionProducts,() => _container.Resolve<Views.ProductsCycle>()); 
    } 
    #endregion 
} 

같은 모듈 내에서 또 다른보기로 이동합니다 ProductsCycle.cs에서 버튼 이벤트 핸들러 :

private void btnForward_Click(object sender, RoutedEventArgs e) 
    { 
     IRegion productsRegion = _regionManager.Regions["ModuleRegionProducts"]; 

     var productsListView = _container.Resolve<Views.ProductsList>(); 
     productsRegion.Add(productsListView, "ProductsList"); 

     productsRegion.Activate(productsListView); 
    } 

상태 : 제품 첫 페이지로드시 제품 페이지가로드됩니다.

문제 : btnForward를 클릭하면보기가 ProductCycle 페이지에서 ProductsList 페이지로 변경되지 않습니다.

저는 Silverlight 4 및 PRISM2를 사용하고 있습니다. 조언 해주세요. 고맙습니다.

답변

0

productsRegion.Remove(this);

로 변경 productsRegion.Activate(productsListView);

productListViewUserControl에서 직접 상속되지 않기 때문에.