选择页面时如何重新初始化选项卡控件页面上的自定义控件
How to reinitialize a custom control on a Tab Control page when the page is selected
在下面的代码中,我将自定义控件放置在 TabControl 的每个页面上。当第一次加载 TabControl 时,所有的自定义控件都被初始化和布局。
所有自定义控件都可以更新源数据库。
当每个自定义控件所在的标签页被选中时,如何重新初始化它们? (即,MedicalRecords 自定义控件将更新数据库,而 Nursing 自定义控件必须重新初始化数据库,等等)。
TIA
<TabControl>
<TabItem x:Name="AppointmentsTab" Header="Appointments and Scheduling">
.........
</TabItem>
<TabItem x:Name="MedicalRecordsTab" Header="Medical Records">
<mr:MedicalRecords/>
</TabItem>
<TabItem x:Name="NursingTab" Header="Nursing Service">
<nurse:Nursing x:Name="ccNursing"/>
</TabItem>
.......
</TabItem>
</TabControl>
这取决于您如何初始化控件,但是您可以例如处理控件的 Loaded
事件并在其中执行任何 re-initialization logcin:
ccNursing.Loading += (s,e) => { /* re-initialize */ };
另一种选择是将它们绑定到共享的 DataContext
/视图模型。
在下面的代码中,我将自定义控件放置在 TabControl 的每个页面上。当第一次加载 TabControl 时,所有的自定义控件都被初始化和布局。
所有自定义控件都可以更新源数据库。
当每个自定义控件所在的标签页被选中时,如何重新初始化它们? (即,MedicalRecords 自定义控件将更新数据库,而 Nursing 自定义控件必须重新初始化数据库,等等)。
TIA
<TabControl>
<TabItem x:Name="AppointmentsTab" Header="Appointments and Scheduling">
.........
</TabItem>
<TabItem x:Name="MedicalRecordsTab" Header="Medical Records">
<mr:MedicalRecords/>
</TabItem>
<TabItem x:Name="NursingTab" Header="Nursing Service">
<nurse:Nursing x:Name="ccNursing"/>
</TabItem>
.......
</TabItem>
</TabControl>
这取决于您如何初始化控件,但是您可以例如处理控件的 Loaded
事件并在其中执行任何 re-initialization logcin:
ccNursing.Loading += (s,e) => { /* re-initialize */ };
另一种选择是将它们绑定到共享的 DataContext
/视图模型。