wpf 柱形图区域何时会同时具有多个活动视图?

eh57zj3b  于 2022-11-18  发布在  其他
关注(0)|答案(1)|浏览(112)

我对Prism有些困惑。每次我导航到主区域的不同视图并处理PageNavigationCompleted事件时,我都会检查该区域的活动视图列表。

var views = RegionManager.Regions[Regions.Main].ActiveViews.ToList();

每次返回的列表都包含***一个且仅一个***视图:我刚刚导航到的视图。无论我导航多少次,或者导航到多少不同类型的视图,列表最多只能容纳一个项目。(这与我在视图模型中实现IActiveAware的经验相一致。当Prism将一个视图模型的IsActive属性设置为true时,它会将另一个视图模型的属性设置为false。)
目前,我的代码假设活动区域列表中的第一个视图是活动视图。因为到目前为止,它一直都是。
但是,如果每个区域始终最多只有一个视图处于活动状态,那么为什么活动区域是一个列表,而不仅仅是一个对象引用呢?
一定会有这样的场景,其中一个区域的活动视图列表包含 * 多个 *,对吗?谁能告诉我这种场景可能是什么?即使是视觉上,这是什么样的布局?

n3h0vuf2

n3h0vuf21#

这取决于承载区域的控件,以及IRegion示例的类型,该示例由所使用的RegionAdapter派生而来。例如,ContentControl一次只能承载一个视图。
但是,ItemsControl同时托管其所有视图(即项目)。

相关问题