【问题标题】:PRISM View Injection/Navigation in Same Module同一模块中的 PRISM 视图注入/导航
【发布时间】:2010-05-27 05:50:29
【问题描述】:

这是产品模块中的 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 时,视图不会从 ProductCycle 页面更改为 ProductsList 页面。

我正在使用 Silverlight 4 和 PRISM2。 请各位指教,谢谢。

【问题讨论】:

    标签: c# silverlight-4.0 prism-2


    【解决方案1】:

    更改productsRegion.Activate(productsListView);

    productsRegion.Remove(this);

    因为我的productListView 不是直接继承自UserControl

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多