2009-12-31 12 views
8

मैं निम्नलिखित है, जो सभी समारोह ScrollIntoView पर असफल और एक NullReferenceException देने की कोशिश की:डब्ल्यूपीएफ टूलकिट: चयनित आइटम को कोड से पीछे दिखाने के लिए डेटाग्रिड को कैसे स्क्रॉल करें?

// doesn't work 
grid.SelectedItem = sItem; 
grid.ScrollIntoView(sItem); 

// doesn't work 
grid.SelectedItem = sItem; 
grid.Focus(); 
grid.CurrentColumn = grid.Columns[0]; 
grid.UpdateLayout(); 
grid.ScrollIntoView(sItem,grid.Columns[0]); 

// doesn't work 
grid.SelectedItem = sItem; 
grid.UpdateLayout(); 
grid.ScrollIntoView(sItem); 

समस्या यह है, जब मैं से कोड-पीछे एक पंक्ति चुनकर चयन नहीं दिखाई दे रहा है - यह कहीं नीचे नीचे है । जब तक उपयोगकर्ता स्क्रॉल नहीं करता है, उन्हें लगता है कि चयन गायब हो गया है। मुझे उस बिंदु पर डेटाग्रिड स्क्रॉल करने की आवश्यकता है जिसे उपयोगकर्ता चयन देख सकता है।

मैंने "BringIntoView" भी कोशिश की लेकिन कोई किस्मत नहीं।

उत्तर

5

वर्चुअलाइज्ड ढेर पैनल, एक आइटम कंटेनर नहीं था। वर्चुअलाइजेशन को अक्षम करने के लिए अब समस्या हल हो जाती है, और बग को कोडप्लेक्स टूलकिट प्रोजेक्ट में रिपोर्ट किया गया है।

33

प्रयास करें: क्योंकि मद कंटेनर दृश्य बाहर आइटम के लिए मौजूद नहीं है और यही कारण है इस त्रुटि दिखाया गया था है

grid.SelectedItem = sItem; 
grid.UpdateLayout(); 
grid.ScrollIntoView(grid.SelectedItem); 
+0

पहले कथन में मैं ग्रिड असाइन कर रहा हूं। चयनित Item = sItem, क्या आपको लगता है कि ग्रिड। चयनित Item और sitem किसी भी तरह से अलग हैं ?? खेद है कि इसका गलत जवाब यह कभी काम नहीं करेगा। –

+0

एक निर्भरता संपत्ति पर चयनित इटैम रैपर ताकि मेरा कोड आपके पास अलग हो। इसे आज़माएं, मेरे पास एक ही समस्या थी और यह मेरे लिए काम करता था। dissembly देखें: [श्रेणी ("प्रकटन"), DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden), Bindable (सही)] सार्वजनिक वस्तु SelectedItem { मिल { वापसी base.GetValue (SelectedItemProperty); } सेट { बेस.SetValue (चयनित ItemProperty, मान); } } –

+0

आकाश, क्या आपने इसे अभी तक दिया है? –

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