wpf - Binding PropertyName of CollectionViewSource SortDescription in Xaml -


यह मेरा xaml है जो collectionviewsource सॉर्ट प्रॉपर्टी नाम को बताता है।

  & lt; CollectionViewSource स्रोत = "{बाध्यकारी संपर्क}" x: कुंजी = "संपर्ककॉल्क्शन" फ़िल्टर = "संग्रहदृश्यससोर्स_फ़िल्टर" & gt; & LT; CollectionViewSource.SortDescriptions & gt; & Lt; scm: क्रमबद्ध विवरणलेखन नाम = "प्रदर्शन नाम" / & gt; & LT; /CollectionViewSource.SortDescriptions> & Lt; / CollectionViewSource & gt;  

ऊपर xaml ठीक काम करता है लेकिन मेरे पास समस्या यह है कि मुझे पता नहीं है कि SortDescript PropertyName के लिए एक वैरिएबल वैल्यू कैसे देना है। मेरे पास व्यू मॉडेल में एक संपत्ति है जो बताती है कि किस संपत्ति को क्रमबद्ध करना है लेकिन मैं इस प्रॉपर्टी को SortDescription के PropertyName फ़ील्ड में बाँध नहीं कर पा रहा हूं।

क्या कोई तरीका है?

XAML:

आप कोड के पीछे सॉर्ट विवरण सेट कर सकते हैं।

Window.Resources & gt;> <कोड> & lt पूर्व; & Lt; संग्रह दृश्य स्रोत स्रोत = "{बाध्यकारी लोग}" x: कुंजी = "_ लोग सीवीएस" / & gt; & LT; /Window.Resources> & LT; StackPanel & gt; & Lt; लिस्ट बॉक्स आइटमस्सोर्स = "{बाइंडिंग सोर्स = {स्टैटिक रिसोर्स _पोगलसीवीएस}}" & gt; & LT; ListBox.ItemTemplate & gt; & LT; DataTemplate & gt; & Lt; स्टैकपैनेल ओरिएंटेशन = "क्षैतिज" & gt; & Lt; टेक्स्टब्लॉक टेक्स्ट = "{बाध्यकारी पथ = नाम}" मार्जिन = "5,0" / & gt; & Lt; टेक्स्टब्लॉक टेक्स्ट = "{बाध्यकारी पथ = आयु}" / & gt; & Lt; / StackPanel & gt; & Lt; / DataTemplate & gt; & LT; /ListBox.ItemTemplate> & Lt; / ListBox & gt; & Lt; कॉम्बो बॉक्स चयन चेंजेड = "कॉम्बो बॉक्स चयन" बदल गया & gt; & LT; ComboBoxItem & gt; उम्र & lt; / ComboBoxItem & gt; & LT; ComboBoxItem & gt; नाम & lt; / ComboBoxItem & gt; & Lt; / ComboBox & gt; & Lt; / StackPanel & gt;

पीछे कोड:

  सिस्टम का उपयोग करके। Colllections.Generic; System.ComponentModel का उपयोग कर; System.Windows का उपयोग कर; System.Windows.Controls का उपयोग कर; System.Windows.Controls.Primitives का उपयोग कर; System.Windows.Data का उपयोग कर; नामस्थान संग्रह ViewSourceDemo {सार्वजनिक आंशिक वर्ग Window1: विंडो {सार्वजनिक विंडो 1 () {InitializeComponent (); लोग = नई सूची & lt; व्यक्ति & gt; (); लोग। जोड़ें (नया व्यक्ति ("बॉब", 34)); लोग। जोड़ें (नया व्यक्ति ("सैली", 12)); लोग। जोड़ें (नया व्यक्ति ("जो", 56)); लोग। जोड़ें (नया व्यक्ति ("मैरी", 23)); DataContext = यह; } सार्वजनिक सूची & lt; व्यक्ति & gt; लोग {प्राप्त; निजी सेट; } निजी शून्य comboBox_electionChanged (ऑब्जेक्ट प्रेषक, SelectionChangedEventArgs ई) {ComboBoxItem comboBoxItem = (चयनकर्ता के रूप में प्रेषक)। ComboBoxItem के रूप में चयनित आईटीएम; स्ट्रिंग सॉर्टप्रॉपर्टी = comboBoxItem.Content स्ट्रिंग के रूप में; संग्रह विवरसॉर सीवीएस = फाइंडरसोर्स के रूप में खोज संसाधन ("_ लोग सीवीएस"); cvs.SortDescriptions.Clear (); Cvs.SortDescriptions.Add (नया क्रमवार वर्णन (सॉर्टप्रॉपर, लिस्टस्र्टडायरेक्शन। एस्केन्डिंग)); }} सार्वजनिक वर्ग व्यक्ति {सार्वजनिक व्यक्ति (स्ट्रिंग का नाम, इंट युग) {name = name; आयु = आयु; } सार्वजनिक स्ट्रिंग नाम {get; निजी सेट; } सार्वजनिक int आयु {प्राप्त; निजी सेट; }}}  
पर क्लिक करें

Comments

Popular posts from this blog

windows - Heroku throws SQLITE3 Read only exception -

lex - Building a lexical Analyzer in Java -

python - rename keys in a dictionary -