private void MainWindow_Loaded(object sender, RoutedEventArgs e) { _viewA = (ViewA)_container.Resolve(typeof(ViewA)); _viewB = (ViewB)_container.Resolve(typeof(ViewB)); _region = _regionManager.Regions["ContentRegion"]; _region.Add(_viewA); _region.Add(_viewB); }
protected override void Adapt(Prism.Regions.IRegion region, System.Windows.Controls.StackPanel regionTarget) { // 区域内视图集合发生变化时引发的事件 region.Views.CollectionChanged += (s, e) => { if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add) { foreach (System.Windows.FrameworkElement element in e.NewItems) { regionTarget.Children.Add(element); } } else if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Remove) { foreach (System.Windows.FrameworkElement element in e.NewItems) { if (regionTarget.Children.Contains(element)) { regionTarget.Children.Remove(element); } } } }; }