Как повторно инициализировать пользовательский элемент управления на странице управления вкладками, когда страница выбрана - PullRequest
0 голосов
/ 01 июля 2019

В следующем коде я размещаю пользовательские элементы управления на каждой странице TabControl. При первой загрузке TabControl все пользовательские элементы управления инициализируются и размещаются.

Все пользовательские элементы управления могут обновлять исходную базу данных.

Как мне повторно инициализировать каждый пользовательский элемент управления, когда выбрана вкладка? (т.е. пользовательский элемент управления MedicalRecords обновит базу данных, в которую пользовательский элемент управления Nursing должен будет повторно инициализировать и т. д.).

ТИА

<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>

1 Ответ

1 голос
/ 01 июля 2019

Это зависит от того, как вы инициализируете свои элементы управления, но вы можете, например, обработать событие Loaded для элемента управления и выполнить там любой повторный инициализацию:

ccNursing.Loading += (s,e) => { /* re-initialize */ };

Другой вариант будетпривязать их к общей DataContext / view модели.

...