लौटना चाहिए WPF में ध्यान के दो प्रकार के होते हैं - कीबोर्ड फोकस और तार्किक ध्यान दें। This link आपको डब्ल्यूपीएफ में फोकस के बारे में अधिक जानकारी दे सकता है।
आप ऐसा या तो कर सकते हैं:
ListViewItem item = myListView.ItemContainerGenerator.ContainerFromIndex(index) as ListViewItem;
item.Focus();
यह भी
Keyboard.Focus(item);
कॉल करने के लिए आप भी आइटम की स्थिति के लिए ListView
स्क्रॉल करने के लिए चाहते हैं, तो संभव है, इस जोड़ें:
myListView.ScrollIntoView(item);
महत्वपूर्ण नोट: इसके लिए बदतर के, आपको VirtualizingStackPanel.IsVirtualizing="False"
को अपने ListView
पर सेट करने की आवश्यकता होगी, जो इसे धीमा करने का कारण बन सकता है। इस संलग्न संपत्ति की आवश्यकता होने का कारण यह है कि जब ListView
वर्चुअलाइज्ड (जो डिफ़ॉल्ट रूप से होता है), ListViewItems
उन आइटम्स के लिए नहीं बनाए जाते हैं जो स्क्रीन पर प्रदर्शित नहीं होते हैं, जिससे null
लौटने के लिए कारण होगा।
स्रोत
2012-07-31 19:37:07
वैसे मुझे आपके कोड के पीछे विचार मिला है, लेकिन यह _myListView.Items [itemIndex] के रूप में काम नहीं कर रहा है IInputElement; _ रिटर्न _null_। ListView में आइटम मेरी कस्टम क्लास के उदाहरण हैं और इंस्टॉलेशन प्रॉपर्टी के अनुसार रनटाइम पर उचित शैली का चयन किया जाता है। वर्ग क्रमशः किसी वर्ग या इंटरफ़ेस को लागू करने का वारिस नहीं करता है; इसलिए मैं इसे IInputElement पर नहीं डाल सकता ... – jnovacho
@jnovacho 'UIElement' से उत्तराधिकारी कोई नियंत्रण' IInputElement' लागू करता है। 'MyListView.Items [itemIndex]' से आपको किस प्रकार की वस्तु मिलती है? –
मुझे उस संग्रह से केवल ऑब्जेक्ट मिलता है। – jnovacho