0

プリズム 4 フレームワークを使用して WPF デスクトップ アプリケーションを開発しています。私のアプリケーションでは、従業員のリストを表示し、リストから選択すると、選択した従業員の詳細が詳細領域に表示されます。従業員が選択したイベントに応答するためのコントローラーの側に、EmployeeDetailsVeiw を注入するための次のコードがあります。

    IRegion employeeDetailsVeiwRegion = this.regionManager.Regions["EmployeeDetailsVeiwRegion"];
    EmployeeDetailsView view = employeeDetailsVeiwRegion.GetView("EmployeeDetailsVeiw") as EmployeeDetailsView;
    if(view == null)
    {
        view = this.container.Resolve<EmployeeDetailsView>();
        employeeDetailsVeiwRegion.Add(view, "EmployeeDetailsVeiw");
    }

地域を次のように定義しました

    <ContentControl Name="EmployeeDetailsVeiwRegion" Margin="16" Grid.Row="1"
              prism:RegionManager.RegionName="EmployeeDetailsVeiwRegion"/>

しかし、コードを実行するとエラーが発生し続けます

  The region manager does not contain the EmployeeDetailsVeiwRegion region

試みられた解決策

here a linkや他の投稿などのプラウ投稿で他のスタックで提案されたソリューションを試しましたが、うまくいきません。

4

2 に答える 2

3

最後にそれを機能させました。プレゼンター クラス (私の場合は EmployeePage) コントラクターの領域を含む ContentControl に領域マネージャーを設定しました。

IRegionManager regionManager = ServiceLocator.Current.GetInstance<IRegionManager>();
regionManager.Regions.Remove("EmployeeDetailsViewRegion");
RegionManager.SetRegionManager(this.EmployeeDetailsContentControl, regionManager);
于 2012-06-14T23:48:11.053 に答える
-1

試す:

this.regionManager.RegisterViewWithRegion("EmployeeDetailsVeiwRegion",
    typeof(EmployeeDetailsView));
于 2012-06-11T14:59:49.303 に答える