मेरे पास एक ऑब्जर्जेबल कोलेक्शन है, जहां माईडाटा 4 गुणों वाला एक वर्ग है i.e. int id, स्ट्रिंग नाम, बूल IsSelected, स्ट्रिंग IsVisible है।क्रमबद्ध करें अवलोकन करने योग्य चयन - सबसे अच्छा तरीका क्या है?
यह अवलोकन योग्य चयन चेकबॉक्स (उदाहरण के लिए शहर डेटा) के साथ एक combobox से जुड़ा हुआ है। अब, जब उपयोगकर्ता चेकबॉक्स चेक करता है तो अगली बार जब वह ड्रॉप डाउन खोलता है - सभी चयन शीर्ष पर आरोही क्रम में शीर्ष पर आते हैं।
जब उपयोगकर्ता कंबोबॉक्स में 3 वर्णों में टाइप करता है तो ऑटो ऑटो भी कार्यान्वित किया जाता है, ड्रॉप डाउन सभी चयनों को पहले दिखाएगा, फिर उपयोगकर्ता द्वारा 3 वर्णों से शुरू होने वाली सभी चीज़ें।
मैं शोध किया है और निम्नलिखित कोड लागू किया है और यह ठीक काम कर रहा है, लेकिन मुझे पता है यह सबसे अच्छा तरीका है कि क्या चाहते हैं या मैं एक बेहतर तरीके से इस लागू कर सकते हैं, कोड है:
IEnumerable<MyData> sort;
ObservableCollection<MyData> tempSortedCities = new ObservableCollection<MyData>();
sort = City.OrderByDescending(item => item.IsSelected).ThenBy(item => item.Name.ToUpper()) ;
// City is my observablecollection<MyData> property in my Model binded to combobox in UI
foreach (var item in sort)
tempSortedCities.Add(item);
City.Clear(); // City is my observablecollection<MyData> property in my Model
City = tempSortedCities;
tempSortedCities = null;
sort = null;
धन्यवाद अपने समय के लिए अग्रिम में!
यदि आप डिफ़ॉल्ट दृश्य को सॉर्ट कर रहे हैं तो शहर संग्रह में बाध्यकारी आपको परिणाम क्रमबद्ध करना चाहिए। संग्रह के लिए बाध्यकारी होने पर, डब्ल्यूपीएफ अपने डिफ़ॉल्ट दृश्य से जुड़ जाता है। – Goran
@ गोरान - हाँ, मुझे यह पता है। लेकिन मुझे लगता है कि स्पष्ट होना बेहतर है। –
धन्यवाद पावलो! –