选择页面时如何重新初始化选项卡控件页面上的自定义控件

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/视图模型。