2011-06-02 12 views

उत्तर

9

CheckBox जैसे कुछ नियंत्रण TabIndex संपत्ति है, लेकिन नहीं सभी नियंत्रण इस संपत्ति है, लेकिन आप उन्हें ध्यान केंद्रित किया और ध्यान नेविगेशन में भाग लेने, संलग्न संपत्ति KeyboardNavigation.TabIndex ऐसे मामलों में इस्तेमाल किया जा सकता कर सकते हैं। इस तरह के नियंत्रण का एक उदाहरण Hyperlink

इस KeyboardNavigation वर्ग से

अलावा, ध्यान नेविगेशन स्थापित करने के लिए एक बहुत अन्य सुविधा प्रदान करता है टैब नेविगेशन व्यवहार की तरह है, KeyboardNavigationMode आदि

एक नेविगेशन कंटेनर के नेविगेशन व्यवहार हो सकता है द्वारा जोड़ा गया कीबोर्ड नेविगेशन गुण टैबनेविगेशन, कंट्रोलटैबनेविगेशन, और दिशात्मक जांच। ये गुण कीबोर्ड नाविगेशन मोड और संभावित मान जारी हैं, स्थानीय, युक्त, चक्र, एक बार, और कोई नहीं। डिफ़ॉल्ट मान जारी है, जिसका अर्थ है तत्व नेविगेशन कंटेनर नहीं है।

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

11

@akjoshi एक बहुत ही महत्वपूर्ण उसके जवाब में TaxIndex के बारे में जानकारी का टुकड़ा शामिल है, लेकिन मैंने सोचा कि थोड़ा और अधिक स्पष्टीकरण में मदद मिलेगी।

यदि आप एक ItemsControl एक आइटम अगर आप सावधान नहीं कर रहे हैं आप एक tab order like this साथ खत्म हो जाएगा दोहरा है।

enter image description here

समाधान सरल है:

प्रत्येक दोहराया आइटम के मुख्य कंटेनर को यह संलग्न संपत्ति को लागू करें।

KeyboardNavigation.TabNavigation="Local" 

यह enumeration मूल्यों के सभी प्रकार है, लेकिन इस नेस्टेड नियंत्रण के लिए उपयोग करने के लिए एक है।

नोट मैंने 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>