2009-04-14 14 views
5

मेरे पास चेकबॉक्स का एक समूह है जो सभी एक ही प्रकार के विभिन्न चयनों का प्रतिनिधित्व करते हैं (मेरे उदाहरण के लिए, वे सभी अलग-अलग फ़ाइल प्रकार हैं)। मुझे लगता है कि व्यूमोडेल में एक व्यक्तिगत संपत्ति के लिए प्रत्येक को बाध्य करना बहुत अधिक है, और मैं उन्हें सभी को एक संग्रह में बांधना पसंद करता हूं और प्रत्येक चेकबॉक्स को कुंजी द्वारा संग्रह में किसी विशेष आइटम को बांधने के लिए बाध्यकारी वाक्यविन्यास का उपयोग करना पसंद करता हूं। मैं एमवीवीएम पैटर्न से चिपकने की कोशिश कर रहा हूं, इसलिए मैं सिर्फ आलसी नहीं होना चाहता हूं और चेक किए गए ईवेंट या ऐसा कुछ संभाल नहीं सकता हूं।डब्ल्यूपीएफ एमवीवीएम बाध्यकारी चेकबॉक्स। एक शब्दकोश में एक नामित आइटम की जांच <string, bool>

क्या WPF बाइंडिंग सिंटैक्स का उपयोग करके संग्रह में पथ या कुंजी व्यक्त करने का कोई तरीका है? उदाहरण के लिए, यदि मैं ViewModel में सार्वजनिक संपत्ति के रूप में FileTypes नामक Dictionary<string, bool> का पर्दाफाश करता हूं, तो क्या मेरे पास फाइलटाइप ["aspx"] में से किसी एक चेकबॉक्स को बाध्य करने का कोई तरीका है? क्या होगा यदि मेरे पास Dictionary<string, Dictionary<string, int>> जैसी अधिक जटिल डेटा संरचना थी?

उत्तर

3

आप लगभग यह था - बस इंडेक्सर तर्क-पीछे उद्धरण चिह्न ड्रॉप:

{Binding FileTypes[aspx]} 

एक अधिक जटिल डेटा संरचना सिर्फ indexers के अनुक्रम की आवश्यकता होगी, उदा

{Binding Foo[aspx][Bar]} 

वैसे, इस सामग्री के लिए एक अच्छा संसाधन MSDN में है, WPF के तहत> डेटा> डेटा बाइंडिंग> बाइंडिंग घोषणाएं अवलोकन - "बाइंडिंग पथ सिंटेक्स" के लिए नीचे स्क्रॉल अंकन और परंपराओं का एक सारांश के लिए आप बाध्यकारी पथ में उपयोग कर सकते हैं।

संबंधित मुद्दे