Como TAB através de TextBoxes em um ListView

Ok, eu tenho um ListView que possui 2 GridViewColumns, um exibindo um número e outro contendo um TextBox Meu problema é que eu quero poder percorrer todas as TextBoxes que tenho no GridViewColumn. Com a propriedade KeyboardNavigation.TabNavigation anexada, consigo quase o que quero.
O que eu alcanço é:
first TAB - todo o primeiro ListViewItem focado
second TAB - primeiro TextBox focado
third TAB - todo o segundo ListViewItem focado
UARTA TAB - segundo TextBox focado

O que eu quero é
first TAB - primeiro TextBox focado
second TAB - segundo TextBox focado

    <ListView KeyboardNavigation.TabNavigation="Continue" Name="TheLabelListView" >
                            <ListView.ItemContainerStyle >
                                    <EventSetter Event="Selected" Handler="ItemSelected" /></Style>
                            </ListView.ItemContainerStyle>
                            <ListView.View>
                                <GridView x:Name="GridViewSmall"  >
                                    <GridViewColumn  Header="#" Width="20"  DisplayMemberBinding="{Binding SelectorIndexNumber}" />
                                    <GridViewColumn  Header="Selector" Width="175">
                                        <GridViewColumn.CellTemplate>
                                            <DataTemplate>
                                                <TextBox Name="SelectorTextBox"  Text="{Binding SelectorName}"  />                                                    
                                            </DataTemplate>
                                        </GridViewColumn.CellTemplate>
                                    </GridViewColumn>
                                </GridView>
                            </ListView.View>
                        </ListView>

Este código foi dado a mim por H.B. . Ele deve ser executado quando um ListViewÍtem é selecionado e encontra o TextBox e o concentra. De alguma forma, ele ainda não seleciona o TextBox toda vez que, embora esse método seja executado, o booleano TextBoxgotFocus sempre é verdadeir

 private void ItemSelected(object sender, RoutedEventArgs e)
    {
        var item = sender as ListViewItem;
        TextBox h = (FindNamedChild(item, "SelectorTextBox") as TextBox);
        bool TextBoxgotFocus = h.Focus();
    }

    public static object FindNamedChild(DependencyObject container, string name)
    {
        if (container is FrameworkElement)
        {
            if ((container as FrameworkElement).Name == name) return container;
        }
        var ccount = VisualTreeHelper.GetChildrenCount(container);
        for (int i = 0; i < ccount; i++)
        {
            var child = VisualTreeHelper.GetChild(container, i);
            var target = FindNamedChild(child, name);
            if (target != null)
            {
                return target;
            }
        }
        return null;
    }

questionAnswers(1)

yourAnswerToTheQuestion