mvvm - WPF DataGrid: Get column binding property for filtering -
मैं WPF DataGrid
(WPF Toolkit से) के लिए एक फ़िल्टरिंग कार्यक्षमता विकसित करने का प्रयास कर रहा हूं। मैं एक उपयोगकर्ता को किसी भी सेल को राइट-क्लिक करने और उसके CcontextMenu
से फ़िल्टर
का चयन करने के लिए चाहता हूं, और फिर ग्रिड सेल के मान से फ़िल्टर्ड होना चाहिए।
मैं एमवी-वीएम पैटर्न की कोशिश कर रहा हूं मेरी खिड़कियों की डेटाकॉन्टेक्स्ट है मुख्य विंडूवमॉडल
जिसमें एक संपत्ति है लेनदेन
। यह प्रॉपर्टी रिटर्न अवलोकनकेलक्शन & lt; TransactionViewModel & gt;
, और डेटा ग्रिड इस संग्रह को इसके आइटम स्रोत के रूप में उपयोग करता है। तो मूल रूप से प्रत्येक पंक्ति TransactionViewModel
से जुड़ी हुई है (जैसा कि आप अनुमान लगा सकते हैं, यह ग्रिड लेनदेन को सूचीबद्ध करता है)। मुख्य विंडो दृश्यमॉडल
में आयलॉल्लकिव्यू
है जिसका उपयोग वर्तमान चयनित पंक्ति को फ़िल्टर करने और ट्रैक करने के लिए किया जाता है myCollectionView.CurrentItem
मुझे वर्तमान में चयनित TransactionViewModel
देता है DataGrid
में इसकी संपत्ति IsSynchronizedWithCurrentItem
को "true" पर सेट है, इसलिए myCollectionView.CurrentItem
।
एकमात्र चीज़ जिसे मुझे अब भी पता होना चाहिए I यह इस बात पर निर्भर करता है कि उपयोगकर्ता ने संदर्भ मेनू पर क्लिक किया था। इसलिए मैं संदर्भ मेनू आइटम के CommandProperty
का उपयोग करके इस जानकारी को पास करने का प्रयास कर रहा हूं और यहाँ मेरे पास एक वास्तविक समस्या है मैंने इसे करने की कोशिश की:
कमांडपैमेटर = "{बाध्यकारी कॉलम। बाइंडिंग.पाथ। पाथ, रिलेटिव सोरस = {रिलेटिवसोर खोजअनिस्टर, पूर्वज प्रकार = {x: प्रकार टीके: डेटाग्रिड सेल}}}" / & gt;
यह वास्तव में बदसूरत है, लेकिन यह DataGridTextColumn
s के लिए काम करता है दुर्भाग्य से, मेरे पास भी DataGridTemplateColumn
s है, और वे काम नहीं करते (पथ वहाँ अलग है, क्योंकि मुझे वास्तविक सेल टेम्प्लेट तक पहुंचने की आवश्यकता है) ...
तो कैसे क्या मैं इस कार्यक्षमता को लागू कर सकता हूं? शायद पूरी तरह से गलत है? उस पर मुझे कोई महत्वपूर्ण उदाहरण नहीं मिला।
धन्यवाद।
Div>
मैं 100% निश्चित नहीं हूँ अगर यह मदद करेगा लेकिन ...
डेटाग्रिड में वर्तमानकेल है ताकि आप यह आपके मुख्य विंडो में दोवे मोड में बाँध सकता है ViewModel फिर हर "पंक्ति" मुख्य विंडो में परिभाषित डूफिल्टर कमांड को इंगित कर सकता है। यह एक सौंदर्य समाधान नहीं है (क्योंकि व्यूमोल्ड को डाटाग्रिड सेल प्रकार जानना है), लेकिन यह काम करना चाहिए।
Comments
Post a Comment