Focus et TabIndex sur UserControls

J'ai un comportement étrange:
J'ai une MainWindow contenant des zones de texte et de (simple) usercontrols (textbox et un bouton), mais j'ai dépouillé qu'à une zone de texte à des fins de débogage.

Lorsque j'utilise des zones de texte et des usercontrols SANS définir une propriété TabIndex le curseur à travers les différentes étapes du contrôle dans le bon ordre (dans l'ordre où les contrôles sont ajoutés à la fenêtre)

Lorsque j'utilise des zones de texte et des usercontrols AVEC la définition d'une propriété TabIndex le curseur à travers les différentes étapes du contrôle dans l'ordre invalide (la première de toutes les usercontrols, puis toutes les zones de texte), c'est également le cas lorsque le TabIndex est fixée à une valeur correspondant à l'ordre dans lequel le contrôle a été ajouté

Voici mon usercontrol

<UserControl x:Class="SmallControl"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             >
        <TextBox x:Name="txTEXT" Text="{Binding Text}" />
</UserControl>

Suivantes Mainwindow xaml conduit à l'ordre 000000,111111,222222,333333 ,c'est ok

    <GroupBox Header="Small,Textbox,Small,TextBox without TabIndex">
        <UniformGrid Columns="4">
            <local:SmallControl Text="000000" />
            <TextBox Text="111111" />
            <local:SmallControl Text="222222" />
            <TextBox Text="333333" />
        </UniformGrid>
    </GroupBox>

Suivantes Mainwindow xaml conduit à l'ordre 000000,222222,111111,333333, ce n'est PAS ok

    <GroupBox Header="Small,Textbox,Small,TextBox with TabIndex">
        <UniformGrid Columns="4">
            <local:SmallControl TabIndex="0" Text="000000" />
            <TextBox TabIndex="1" Text="111111" />
            <local:SmallControl TabIndex="2" Text="222222" />
            <TextBox TabIndex="3" Text="333333" />
        </UniformGrid>
    </GroupBox>

Est-il un moyen d'utiliser TabIndex sans être obligé d'ajouter des contrôles dans le "bon de commande" dans le code xaml?

Ce qui concerne
Klaus

OriginalL'auteur klawusel | 2011-10-31