这是Products模块中的ModuleInit.cs
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);
}
状态:在首次加载时成功加载了ProductsCycle页面。
问题:单击btnForward时,View不会从ProductCycle页面更改为ProductsList页面。
我正在使用Silverlight 4和PRISM2。 请您的意见,谢谢。
答案 0 :(得分:0)
更改productsRegion.Activate(productsListView);
到productsRegion.Remove(this);
因为我的productListView
不会直接从UserControl
继承。