我有一些用户控件的场景假设它们是:
- 创建学生
- 创建教师
每个用户控件都有自己的视图模型。数据上下文在初始化中设置。
我有一个主 UI,可以在其中加载上述用户控件。所以设置数据上下文工作正常。
问题陈述 我有另一个用户控件“CreateClass”,它是选项卡的集合。从这里我可以转到上面的两个用户控件(隐藏选项卡)。
数据上下文由 CreateClassViewModel“CreateStudentManager”和“CreateTeacherManager”中的两个属性设置。
这很好用,但问题是当我默认打开 CreateClass UI 时,其他用户控件也会加载(我猜是因为它们有默认构造函数)。
因为当我打开 CreateClass 时,我不想加载其他控件。这些应该仅在从 Create Class UI 显式调用时加载。
如何做到这一点?
下面是一个“CreateStudent”的示例
<TabItem Header="Students" Visibility="{Binding IsStudentVisible, Converter={StaticResource BooleanToVisibilityConverter}}" >
<Grid>
<local:UCCreateStudent DataContext="{Binding CreateStudentManager}"/>
</Grid>
</TabItem>
- 吉里哈