WPF: limite de dados TabControl não confirma alterações quando nova guia é selecionada

Eu tenho um TabControl onde cada guia e seu conteúdo são vinculados a um ObservableCollection:

<code><TabControl ItemsSource="{Binding Path=.}">
    <TabControl.ContentTemplate>
        <DataTemplate>
            <TextBox Text="{Binding Path=propertyValue}" />
        </DataTemplate>
    </TabControl>
</TabControl>
</code>

Se eu clicar na guia 1, digite algo na caixa de texto e clique em tab para que o TextBox perca o foco, os novos dados que eu digitei na caixa de texto serão confirmados no item ObservableCollection.

No entanto, se eu digitar dados no TestBox e, em seguida, clicar imediatamente em outra guia, os dados nunca serão confirmados. Além disso, quando volto para os dados, não estou mais definido para o que eu havia digitado.

Alguém sabe uma maneira de forçar os dados a serem confirmados antes que a guia atual seja alterada?

ATUALIZAÇÃO E CORREÇÃO

O que eu fiz foi ligar oSelectionChanged evento:

<code>private void tabData_SelectionChanged(object sender, SelectionChangedEventArgs e) {
    theTabControl.Focus();         
}
</code>

Chamar Focus () no TabControl faz com que o TextBox perca o foco e confirme os dados. Eu fiz isso porque tenho outros controles - como o DatePicker - que exibem um comportamento semelhante. Isso é uma espécie de captura de todos.

questionAnswers(4)

yourAnswerToTheQuestion