TabIndex и KeyboardNavigation.TabIndex в WPF

В чем разница между TabIndex а также KeyboardNavigation.TabIndex в WPF? Когда использовать каждый?

2 ответа

@akjoshi включил в свой ответ очень важную информацию о TaxIndex, но я подумал, что поможет немного больше объяснений.

Если у вас есть ItemsControl Повторяя элемент, вы получите порядок табуляции, как этот, если вы не будете осторожны.

Решение простое:

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

KeyboardNavigation.TabNavigation="Local" 

Это перечисление имеет все виды значений, но это то, что нужно использовать для вложенных элементов управления.

Примечание, которое я установил IsTabStop=false для ItemsControl сам (и нет, это не совсем код для рисунка выше).

<ItemsControl ItemsSource="{Binding CurrentItem.CustomsItems}" IsTabStop="False">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <ctl:CustomsItem KeyboardNavigation.TabNavigation="Local" Margin="0,0,0,8"/>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

Некоторые элементы управления, такие как CheckBox иметь TabIndex свойство, но не все элементы управления имеют это свойство, но вы можете захотеть, чтобы они имели фокус и участвовали в фокусе навигации, прикрепленное свойство KeyboardNavigation.TabIndex может быть использован в таких случаях. Примером такого контроля является Hyperlink

Помимо этого класса KeyboardNavigation предоставляет множество других функций для настройки навигации фокуса, таких как поведение навигации по вкладкам, KeyboardNavigationMode и т. Д.

Поведение навигации контейнера навигации можно изменить, установив вложенные свойства KeyboardNavigation TabNavigation, ControlTabNavigation и DirectionalNavigation. Эти свойства имеют тип KeyboardNavigationMode, и возможными значениями являются "Продолжить", "Локально", "Содержится", "Цикл", "Один раз" и "Нет". Значением по умолчанию является Продолжить, что означает, что элемент не является контейнером навигации.

http://msdn.microsoft.com/en-us/library/aa969768.aspx

Другие вопросы по тегам