यहां एक तकनीक है जिसका मैं अक्सर उपयोग करता हूं। यह आपके Window
या UserControl
पर FocusedElement
विशेषता जोड़ने के उपरोक्त उदाहरण पर बनाता है।
मेरा सौदा यह है कि मैं नहीं चाहता कि मेरी खिड़की पर किसी भी नियंत्रण पर ध्यान केंद्रित किया जाए। मेरे लिए समाधान एक डमी नियंत्रण बनाना है जिसमें यूआई नहीं है और उस पर ध्यान केंद्रित करें। यह सिर्फ इतना है कि Control
बिल बिल्कुल फिट बैठता है:
<UserControl
x:Class="MyControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
FocusManager.FocusedElement="{Binding ElementName=focus_thief}"
mc:Ignorable="d">
<Grid>
<!-- no renderable UI -->
<Control Name="focus_thief"/>
<!-- wants focus, but won't get it -->
<ListBox>
<ListBoxItem>First Item</ListBoxItem>
</ListBox>
</Grid>
</UserControl>
मुझे लगता है कि यू मतलब यह है कि जब यू लिस्टबॉक्स को फ़ोकस, 1 आइटम हमेशा चयन किया जाता है? (हाइलाइट किया गया..और यदि आप दबाते हैं, तो दूसरा आइटम फोकस हो जाता है?) –
1) जिसने मेरा प्रश्न डुप्लिकेट के रूप में चिह्नित किया है, आपको प्रश्न समझ में नहीं आया, मैं भी डुप्लिकेट पोस्ट करने वाला हूं। 2) @ माडी, जब सूची बॉक्स प्रस्तुत किया जाता है, तो इसकी पहली वस्तु स्वचालित रूप से चुनी जाती है, मैं इस सुविधा को अक्षम करना चाहता हूं। – Shimmy
हम्म .. आप फोकसमेनर का उपयोग किसी निश्चित आइटम/तत्व में केंद्रित करने के लिए कर सकते हैं .. (सभी xaml में) ...हालांकि मैं यह नहीं समझ सकता कि इसे किसी भी चीज़ पर कैसे ध्यान केंद्रित करना है: D –