0

これは 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 をクリックしても、ビューが ProductCycle ページから ProductsList ページに変更されません。

Silverlight 4 と PRISM2 を使用しています。アドバイスお願いします、よろしくお願いします。

4

1 に答える 1

0

変化するproductsRegion.Activate(productsListView);

productsRegion.Remove(this);

myproductListViewは から直接継承されていないためUserControlです。

于 2010-06-02T06:24:20.843 に答える