6

バインドされた RegionName に基づいてリージョンをロードする必要があります。みたいな

 <ContentControl cal:RegionManager.RegionName="{Binding CustomRegionName}"
                    Grid.Column="2"/>

すべての地域が正しく登録されています。CustomRegionName の値を変更しても、リージョンは変更されません。これどうやってするの?

4

1 に答える 1

5

この動作は、領域がビジュアル ツリーに既に読み込まれているためです。リージョン名を維持しながら複数のビューをリージョンにロードするように、アプリを少し変更できますか。このようにして、リージョンでアクティブなビューを選択し、IRegionViewManager および IRegion インターフェイスを使用してコンテンツ コントロールの表示を動的に変更することができます。

IRegion region = regionManager.Regions["RegionName"];
object view = container.Resolve<SomeView>();
object view2 = container.Resolve<SomeView2>();

region.Add(view);
region.Add(view2);

次に、特定のビューを別の場所に表示したい場所 IRegionManager を注入してから呼び出します

region.Activate(whichever view);
于 2012-12-05T14:00:56.490 に答える