WPF: Tab navigation broken with collapsed hyperlink -


समस्या: टैब कुंजी के साथ नेविगेशन संक्षिप्त टेक्स्टब्लॉक / हाइपरलिंक पर रोकता है। < P> प्रजनन:

  & lt; विंडो x: कक्षा = "टैबटैस्ट.मैनविंडो" xmlns = "http://schemas.microsoft.com/winfx/2006/ Xaml / प्रस्तुति "xmlns: x =" http://schemas.microsoft.com/winfx/2006/xaml "शीर्षक =" मुख्य विंडो "चौड़ाई =" 200 "ऊँचाई =" 200 "& gt; & LT; ग्रिड & gt; & Lt; स्टैकपैनेल ओरिएंटेशन = "लंबवत" & gt; & Lt; पाठ बॉक्स पाठ = "पहले" / & gt; & LT; TextBlock & gt; & LT; TextBlock.Style & gt; & Lt; शैली TargetType = "{x: टाइप टेक्स्टब्लॉक}" & gt; & Lt; सेटर संपदा = "दृश्यता" मान = "ढह गई" / & gt; & Lt; / शैली & gt; & LT; /TextBlock.Style> & Lt; हाइपरलिंक फ़ोकसबल = "False" & gt; & Lt; टेक्स्टब्लॉक टेक्स्ट = "परीक्षण" / & gt; & Lt; / हाइपरलिंक & gt; & Lt; / TextBlock & gt; & Lt; पाठ बॉक्स पाठ = "बाद" / & gt; & Lt; / StackPanel & gt; & Lt; / ग्रिड & gt; & Lt; / विंडो & gt;   

यदि आप इस सुपर-सरल डेमो को चलाते हैं और टैब दबाते हैं, तो कर्सर "पहले" टेक्स्टबॉक्स पर जाता है टैब को फिर से दबाया जा रहा है ... कुछ भी नहीं कर्सर टेक्स्टबॉक्स से पहले "पहले" रहता है और "बाद" टेक्स्टबॉक्स तक नहीं पहुंचता है।

प्रश्न: मैं हाइपरलिंक ध्वस्त हो जाने से कैसे टैब ने सही ढंग से काम कर सकता हूं?

समस्या हाइपरलिंक नहीं है, लेकिन TextBlock के भीतर नेस्टेड कंट्रोल आप इसे

  & lt; टेक्स्टब्लॉक दृश्यता = "संक्षिप्त" & gt; में बदल सकते हैं। & Lt; TextBlock Text = "MyText" / & gt; & Lt; / TextBlock & gt;   

और टैब नेविगेशन अब भी टूट जाएगा।

समाधान का उपयोग करने के लिए KeyboardNavigation.TabNavigation = "एक बार" बाहरी टेक्स्टब्लॉक पर : <प्री> & lt; टेक्स्टब्लॉक कीबोर्डनैविगेशन। टैबनाविगेशन = "एक बार" & gt; & LT; TextBlock.Style & gt; & Lt; शैली TargetType = "{x: टाइप टेक्स्टब्लॉक}" & gt; & Lt; सेटर संपदा = "दृश्यता" मान = "ढह गई" / & gt; & Lt; / शैली & gt; & LT; /TextBlock.Style> & Lt; हाइपरलिंक फ़ोकसबल = "False" & gt; & Lt; टेक्स्टब्लॉक टेक्स्ट = "परीक्षण" / & gt; & Lt; / हाइपरलिंक & gt; & Lt; / TextBlock & gt;

तब सब कुछ जिस तरह से इरादा है, उतना काम करता है समस्या ये है कि आंतरिक टेक्स्टब्लॉक फोकस हो जाता है, भले ही बाहरी नियंत्रण भी ढह जाता है। KeyboardNavigation.TabNavigation को सेट करने से इसे पूरे कंटेनर के रूप में हल करता है और उसके बच्चे केवल एक बार ध्यान केंद्रित करते हैं ()

Comments