मेरे पास एक साधारण ListView
है और सामग्री संख्यात्मक या वर्णानुक्रम, आरोही या अवरोही को सॉर्ट करना चाहते हैं। पसंद एक ड्रॉप डाउन बॉक्स से आता है। मैं समझता हूं कि सॉर्टिंग प्राप्त करने के लिए मैं CollectionViewSource
का उपयोग कर सकता हूं लेकिन मैं फ्लाई पर सॉर्ट डिस्क्रिप्शन या दिशा कैसे बदल सकता हूं?सूची दृश्य प्रकार बदलें XAML के भीतर संपत्ति/दिशा केवल
अद्यतन:
ठीक है तो मैं सेटअप है तो तरह मेरे सीवीएस, ViewModel क्या ListView वर्तमान में करने के लिए बाध्य किया जाता है। मुझे प्रॉपर्टीनाम को वर्तमान में चयनित कॉम्बो बॉक्स आइटम की संपत्ति PropertyName
से बाध्य होने की आवश्यकता है। कॉम्बो बॉक्स एक कस्टम सूची से जुड़ा हुआ है जो उस संपत्ति नाम का पर्दाफाश करता है जिस पर मैं सॉर्ट करना चाहता हूं।
यह PropertyName कि उपयोग करने का प्रयास कर im के बारे में शिकायत:
ए 'बाध्यकारी' प्रकार 'SortDescription' के 'PropertyName' संपत्ति पर सेट नहीं किया जा सकता है। एक 'बाइंडिंग' केवल निर्भरता प्रोजेक्ट के निर्भरताप्रॉपर्टी पर सेट किया जा सकता है।
<CollectionViewSource Source="{StaticResource viewModel.ListValues}" x:Key="cvs">
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="{Binding Path=SortPropertyName, Source=comboSort}"/>
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
<ListView ItemsSource="{Binding Source={StaticResource cvs}}" />
आप पुराने प्रकार वर्णन निकाल सकते हैं तो नए तरह का विवरण (अलग comparer के साथ) जोड़ सकते हैं और अंत में CollectionViewSource – punker76
मैं चाहता हूँ पर ताज़ा फोन इसे केवल एक्सएएमएल में करने के लिए, यानी कोई कोड पीछे नहीं है (व्यूमोडेल में कोड स्वीकार्य है) – Chris
हां, फिर इसे करें, आपका ड्रॉप डाउन बॉक्स आपके व्यूमोडेल पर किसी संपत्ति से जुड़ा हुआ है और चयन बदलने के बाद आप अपना कलेक्शन व्यूसोर्स बदल सकते हैं (आपकी listvie w संग्रहViewSource को बाध्य करता है) – punker76