0

WPF、Prism、MVVMを使用して小さなアプリを作成しています。コマンドが実行されるたびに再利用したいコントロール(ローダー)があり、そのユーザーコントロールを特定の領域の上に透明性を持って配置したいと思います。つまり、コマンドを呼び出す現在のモジュールが存在する領域。

ViewModelから特定の領域の上にこのユーザーコントロールを追加するにはどうすればよいですか(これは適切な場所ですか?)?

4

1 に答える 1

0

Prismを使用する場合、これを行うための最良の方法はリージョンを使用することです。

ビューにリージョンを作成し、一意の名前を付けます。

<ContentControl rgn:RegionManager.RegionName="TopRegion" />

次に、ViewModelでRegionManagerを使用してユーザーコントロールを追加します。

IRegion myRegion = regionManager.Regions["TopRegion"];
myRegion.Add(userControl1);

また、これはMVVMにあるため、 MEFやUnityなどのある種のIoCを使用してユーザーコントロールを追加する必要があることも指摘しておく必要があります。

于 2012-11-26T08:03:36.347 に答える