पर चयनित आइटम को दिखाने के लिए मैं कई वस्तुओं के साथ एक डेटा ग्रिड है और मैं प्रोग्राम के रूप में SelectedItem
पर स्क्रॉल करने की जरूरत है। मैं StackOverflow और गूगल पर खोज की है, और ऐसा लगता समाधान ScrollIntoView है, इस प्रकार है:स्क्रॉल WPF डेटा ग्रिड शीर्ष
grid.ScrollIntoView(grid.SelectedItem)
जो डेटा ग्रिड ऊपर या नीचे स्क्रॉल जब तक चयनित आइटम ध्यान में है। हालांकि, चयनित आइटम के लिए वर्तमान पुस्तक सापेक्ष स्थिति के आधार पर, चयनित आइटम अप डेटा ग्रिड के ScrollViewer में पिछले दिखाई आइटम जा रहा है हो सकता है। मैं चाहता हूँ कि चयनित आइटम ScrollViewer में पहला दृश्य आइटम (यह मानते हुए डेटा ग्रिड में पर्याप्त पंक्तियों इस अनुमति देने के लिए देखते हैं) हो जाएगा।
'FindVisualChild is a custom extension method that searches in the visual tree and returns
'the first element of the specified type
Dim sv = grid.FindVisualChild(Of ScrollViewer)
If sv IsNot Nothing Then sv.ScrollToEnd()
grid.ScrollIntoView(grid.SelectedItem)
सबसे पहले मैं डेटा ग्रिड के अंत तक स्क्रॉल और उसके बाद ही मैं SelectedItem के लिए स्क्रॉल, जिस पर SelectedItem डेटा ग्रिड के शीर्ष पर दिखाया गया है इंगित करते हैं: तो मैं इस कोशिश की।
मेरे समस्या यह है कि डेटा ग्रिड के अंत तक स्क्रॉल करके अच्छी तरह से काम करता है, लेकिन बाद में चयनित आइटम पर स्क्रॉल करके हमेशा काम नहीं करता है।
मैं इस मुद्दे का समाधान कैसे कर सकते हैं, या वहाँ शीर्ष स्थान पर एक विशिष्ट रिकॉर्ड करने के लिए स्क्रॉल के लिए किसी अन्य वैकल्पिक रणनीति है?