2012-06-06 8 views
11

पर टैब स्टॉप को अक्षम कैसे करें मेरे पास एक स्टैकपैनल है जो एप्लिकेशन में चारों ओर टैब करते समय फोकस करता रहता है।स्टैकपैन

स्नूप का उपयोग करके मैं देख सकता हूं कि स्टैकपैनल में एक ContentControl है जिसमें सामग्री प्रदाता है। यह ContentControl है जो फोकस प्राप्त करता है। मैं इसे कैसे अक्षम कर सकता हूं? और यह डिफ़ॉल्ट व्यवहार क्यों है?

+0

एक 'StackPanel' फोकस पाने के लिए जब तक आप' सेट फ़ोकस करने योग्य सक्षम नहीं होना चाहिए = "सही" '(डिफ़ॉल्ट 'गलत है')। यह 'स्टैकपैनेल' कहां स्थित है, 'विंडो' /' यूजर कंट्रोल ',' आइटम कंट्रोल '? –

+0

क्या होता है जब आप ContentControl पर 'Focusable =" False "सेट करते हैं? – Tyrsius

उत्तर

17

इस डिफ़ॉल्ट व्यवहार है, अगर यह कुछ संसाधन द्वारा ओवरराइट कर दिया गया है तो आप

KeyboardNavigation.IsTabStop="False" 

या वैकल्पिक रूप से उसे रीसेट कर सकते नहीं है ...

FocusManager.IsFocusScope="False" 
+6

इन दो दृष्टिकोणों के बीच क्या अंतर है? –

7

एक साथ एक समान मुद्दा था डेटा टेम्पलेट जो एक स्टैकपैनल को कंटेनर के रूप में उपयोग कर रहा था। तब DataTemplate को Listbox आइटम के लिए उपयोग किया गया था। सुझावों में से कोई नहीं, मेरे लिए काम किया टैब स्टॉप प्राप्त करने से आइटम को रोकने के लिए जब तक मैं वास्तविक लिस्टबॉक्स पर निम्नलिखित प्रयोग किया है:

KeyboardNavigation.TabNavigation="None" 
+0

मेरे लिए अच्छी तरह से काम करता है! – psulek

+0

या कोड के पीछे: 'कीबोर्ड नेविगेशन .etTabNavigation (नियंत्रण, कीबोर्ड NavigationMode.None); ' – Pollitzer

+0

आप यूडब्ल्यूपी में ऐसा कैसे करते हैं? कहते हैं "समर्थित नहीं" – Nilzor

संबंधित मुद्दे