wpf - Sorting an ObservableCollection -
मेरे पास एक UsersVM: यूज़रम: इसलिए यदि मैं एक व्यक्तिगत उपयोगकर्ता की स्थिति बदलता हूं तो मुझे उपयोगकर्ता की स्थिति के आधार पर सहारा लेने के लिए फिर आप अपने ListView ItemsSource को बाध्य कर सकते हैं वैकल्पिक रूप से आप अपने ऑब्ज़र्वबल कोलेक्शन को अपने व्यू मॉोडल पर उजागर कर सकते हैं, इसके साथ बाध्य करें और बस अपने व्यू मॉोडल के कन्स्ट्रक्टर में सॉर्ट विवरण को अपने ऑब्ज़र्वबल कलेक्शन में जोड़ें। UserVM (बहुवचन) और एक
UserVM है (एकवचन )। मैं एक
अवलोकनिक संकलन & lt; UserVM & gt; में
UserVM बनाएँ। मेरे पास
अवलोकनकणीय चयन & lt; UserVM & gt; एक
सूचीदृश्य से जुड़ा है। जब मैं सूची दृश्य में एक उपयोगकर्ता को संपादित करता हूं, तो मुझे उपयोगकर्ता कोड के आधार पर पुन: ऑर्डर करने के लिए
ObservableCollection चाहता हूं। यहां कुछ कोड दिया गया है:
सार्वजनिक पर्यवेक्षणसंपादित करें & lt; UserVM & gt; UserList {get; सेट; } सार्वजनिक यूज़र्सएमएम (IUserService userService) {this._userService = userService; Var उपयोगकर्ता = userService.GetUsers (); Var उपयोगकर्ताव्यूमोल्ड = उपयोगकर्ता। चयन (x = & gt; नया यूजरजीम (यूजरआईडी = एक्स। यूएसआईडी, स्टेटसआईडी = एक्स। स्टेटसआईडी, स्टेटस = एक्स.स्टैटस,}); यह। यूज़र लिस्ट = न्यू ऑब्झर्वबल कलेक्शन & lt; यूजरवाईम & gt; (यूजरव्यूमोडेल); This.UpdateUserStatus = new RelayCommand & lt; ऑब्जेक्ट [] & gt; ((एस) = & gt; अपडेटस्टैटस (एस)); }
सार्वजनिक वर्ग UserVM: व्यूमोडेलबेस {सार्वजनिक यूजरजीएम () {} सार्वजनिक एट यूजरआईडी {प्राप्त; सेट; }}
UserList चाहिए। मैंने पढ़ा है कि एक ही तरीका
ObsavableCollection कुछ क्रमबद्ध एल्गोरिदम को लागू कर सकता है, लेकिन फिर भी आपको इसे बदलने के लिए कुछ जोड़, निकालें, या कुछ स्थानांतरित करने की आवश्यकता है? मैंने इसे पढ़ा है: अगर मुझे अपना पुनः निर्देशित
अवलोकनकल्पनहीं देखना चाहते हैं तो मुझे जोड़ने, निकालें, या स्थानांतरित करने की आवश्यकता है I मैंने कोशिश की
UserList.Move (1,2); और वह काम नहीं कर रहा था मैंने कोशिश की
UserList.Add (TestUserObject); और वह काम नहीं करता।
संरक्षित पर्यवेक्षणकॉल्चेशन & lt; UserVM & gt; _users = नया निरीक्षणीय संकलन & lt; यूज़्यूआइवीएम & gt; (); सुरक्षित ICollectionView _bindToMe; सार्वजनिक यूज़र्सएमएम () {_users.Add (नया यूज़रम ()} {status = "1"}); _users.Add (नया UserVM () {status = "3"}); _users.Add (नया UserVM () {status = "2"}); } सार्वजनिक ICollectionView BindToMe {get {if (_bindToMe == रिक्त) {_bindToMe = संग्रहदृश्यदर्शिका.गेट डीफॉल्ट दृश्य (_यूज़र); _बिंदटोम.सर्टेंडिशन। जोड़ें (नया क्रमवार वर्णन ("स्टेटस", लिस्टस्र्टडायरेक्शन। अतिक्रमण)); } वापसी _बिंडतोम; }}
& lt; ListView ItemsSource = "{Binding BindToMe}" / & gt;
संरक्षित पर्यवेक्षणीय कलेक्शन & lt; यूजरजीएम & gt; _users; सार्वजनिक यूज़र्सएमएम () {Users.Add (नया यूज़रम ()} {status = "1"}); उपयोगकर्ता। जोड़ें (नया यूजरजीएम () {status = "3"}); उपयोगकर्ता। जोड़ें (नया यूजरजीएम () {status = "2"}); Var दृश्य = संग्रह ViewSource.GetDefaultView (_users); देखें। सेटल डिस्क्रिप्शन। जोड़ें (नया क्रमवार वर्णन ("स्टेटस", लिस्टस्र्टडायरेक्शन। अतिक्रमण)); } सार्वजनिक पर्यवेक्षणसंपादित करें & lt; यूजवीएमजी & gt; उपयोगकर्ता {वापसी _उसेर्स प्राप्त करते हैं ?? (_users = नया निरीक्षणीय कलेक्शन & lt; यूजरजीएम & gt; ()); }}
Comments
Post a Comment