20

TabIndexKeyboardNavigation.TabIndexWPFの違いは何ですか? それぞれいつ使う?

4

2 に答える 2

14

@akjoshiは、彼の回答にTabIndexに関する非常に重要な情報を含めましたが、もう少し説明が役立つと思いました。

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>
于 2012-09-17T00:34:54.137 に答える
12

一部のコントロールにCheckBoxTabIndexプロパティがありますが、すべてのコントロールにこのプロパティがあるわけではありませんが、フォーカスを設定してフォーカス ナビゲーションに参加させたい場合は、添付プロパティKeyboardNavigation.TabIndexを使用できます。そのような制御の例は、Hyperlink

このKeyboardNavigationクラスとは別に、タブ ナビゲーション動作、KeyboardNavigationMode など、フォーカス ナビゲーションを設定するための他の多くの機能が提供されます。

ナビゲーション コンテナーのナビゲーション動作は、関連付けられている KeyboardNavigation プロパティの TabNavigation、ControlTabNavigation、および DirectionalNavigation を設定することで変更できます。これらのプロパティのタイプは KeyboardNavigationMode であり、可能な値は、Continue、Local、Contained、Cycle、Once、および None です。デフォルト値は Continue です。これは、要素がナビゲーション コンテナーではないことを意味します。

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

于 2011-06-02T11:58:35.627 に答える