メイン コンテンツ エリア (つまり、ドキュメントが真の MDI インターフェイスではなく、TabControl に表示される場所) があり、サイドにメニューがあるという点で、Visual Studio に似たアプリケーションを作成しようとしています。
これまでのところ、コンテンツを除いてすべてが機能しています。私の目標は、ユーザーがサイドのナビゲーション メニューの項目をダブルクリックすると、ドキュメントがコンテンツ領域で開かれるようにすることです。これは機能しますが、ダブルクリックするたびに、同じビューの新しいインスタンスが生成されます。TabControl コンテンツ コンテナー内に、同じタイプ (ただし「名前」が異なる) のビューが複数ある可能性があります。
現在、私のコードは次のようになっています...
IRegion contentRegion = IRegionManager.Regions[RegionNames.ContentRegion];
object view = IUnityContainer.Resolve(viewModel.ViewType, viewModel.UniqueName);
if (!IUnityContainer.IsRegistered(viewModel.ViewType, viewModel.UniqueName))
{
IUnityContainer.RegisterInstance(viewModel.UniqueName, view);
contentRegion.Add(view);
}
contentRegion.Activate(view);
ただし、ビューを登録しても、ビューが登録されていないようです...おそらくこれを間違っていると思います-これを行う別の方法はありますか? (re: 正しい方法)