में परिवर्तनबॉक्स सूची स्क्रॉल स्थिति को रीसेट करें, वर्तमान में मेरे पास एक सूची बॉक्स है जिसका आइटम्ससोर्स संग्रह मेरे व्यूमोडेल पर एक संपत्ति से जुड़ा हुआ है, टाइप करें INumerable। जब उस प्रीप्रॉर्टी का संदर्भ बदलता है, तो सूची बॉक्स अपडेट के रूप में अपडेट होता है, हालांकि मुझे इसमें कोई समस्या है यदि मेरे पास आइटम का एक बड़ा संग्रह है और ListBox के नीचे स्क्रॉल करें, और उसके बाद संदर्भ को किसी अन्य संग्रह में बदलें, कहें, 1 आइटम , Listbox दृश्य खाली है और कोई स्क्रॉलबार प्रदर्शित नहीं होता है। तब मुझे माउस व्हील के साथ सूची बॉक्स को स्क्रॉल करना होगा, जब तक कि 1 आइटम दृश्य में न आए।डब्ल्यूपीएफ - आइटम्ससोर्स
तो, मुझे लगता है कि मैं बाद में क्या कर रहा हूं, जब भी आइटम्स स्रोत संपत्ति बदलती है, तो सूची बॉक्स की स्क्रॉल स्थिति को रीसेट करने का एक तरीका है, ताकि कुछ हमेशा प्रदर्शित होता है चाहे संग्रह कितना बड़ा या छोटा हो। (जब ItemsSource
बदलते मेरे लिए, ListBox
नए संग्रह में अंतिम आइटम के लिए स्क्रॉल किया जाता है)
if (listBox.Items.Count > 0) {
listBox.ScrollIntoView(listBox.Items[0]);
}
क्या मैं आपके प्रश्न को सही ढंग से समझता था या आप कुछ और ढूंढ रहे थे? –
@Meleak धन्यवाद! वह दृष्टिकोण उपयोगी होगा। मैंने वास्तव में वर्चुअलाइजिंग टाइलपैनल को समस्या का पता लगाया है कि मेरा लिस्टबॉक्स उपयोग कर रहा है जिसे मैंने http://blogs.msdn.com/b/dancre/archive/2006/02/16/implementing-a-virtualizingpanel-part से लिया है -4--goods.aspx। समस्या को नीचे स्क्रॉल करके नमूना डाउनलोड पर दोहराया जा सकता है, और उसके बाद बाध्य संग्रह को एक आइटम के साथ बदल दिया जा सकता है। जब तक आप माउस व्हील के साथ स्क्रॉल नहीं करते हैं तब तक दृश्य खाली हो जाता है। – devdigital
वर्चुअलाइजिंग टाइलपैनल के लिए http://social.msdn.microsoft.com/Forums/en/wpf/thread/05c5868b-7c91-4726-81fb-9af634c74d4a पर एक उत्तर मिला, लेकिन मैंने बाइनरीमिशन से वर्चुअलाइजिंग wrappanel पर स्विच किया है - http://www.binarymission.co.uk/binaryvirtwrappanelsl3.htm – devdigital