2013-06-03 15 views
6

के साथ डब्ल्यूपीएफ बाध्यकारी संग्रह मैं एक संग्रह का उपयोग करने की कोशिश कर रहा हूं जो एक सूची बॉक्स से जुड़ने के लिए किसी अन्य संग्रह की संपत्ति है। निम्नलिखित काम करता है ठीकइंडेक्स

<ListBox ItemsSource="{Binding Path=Locations[0].Buildings}"> 

समस्या यह है कि मैं एक गतिशील सूचकांक और

<ListBox ItemsSource="{Binding Path=Locations[index].Buildings}"> 

जहां सूचकांक मेरी viewmodel में एक पूर्णांक है, काम नहीं करता है की जरूरत है। क्या किसी को पता है कि मैं अपने व्यूमोडेल में संपत्ति के साथ अपने xaml में इंडेक्स को कैसे जोड़ सकता हूं?

उत्तर

6

जहां इंडेक्स मेरे व्यूमोडेल में एक पूर्णांक है, काम नहीं करता है। क्या किसी को पता है कि मैं अपने व्यूमोडेल में संपत्ति के साथ अपने xaml में इंडेक्स को कैसे जोड़ सकता हूं?

एक सरल विकल्प सिर्फ अपने ViewModel, जो प्रभावी रूप से Location[index] था भीतर एक CurrentLocation संपत्ति का पर्दाफाश करने के लिए होगा। फिर आप इसे सीधे बांध सकते हैं।

+0

द्वारा संकेतित किया गया है, हां मैंने इस बारे में सोचा था, अगर कोई अन्य तरीका बनाने के बिना बाध्यकारी के अलावा किसी अन्य उद्देश्य के बिना कोई और तरीका नहीं है तो उत्सुक है। यद्यपि समाधान होने के बहुत अच्छे हो सकते हैं, धन्यवाद! – aw04

4

बाध्यकारी के भीतर बाध्यकारी संभव नहीं है, इसलिए एक्सएएमएल में आप "इंडेक्स" से जुड़ नहीं सकते हैं।

ए। Chris Moser's विधि, आप एक DependencyProperty बना सकते हैं जो "अनुक्रमणिका" से जुड़ा हुआ है रजिस्टरएटेड हैंडलर पर एक परिवर्तन श्रोता निर्दिष्ट करें और वहां अपना काम करें।

बी। एक कनवर्टर का प्रयोग करें। आप इंडेक्स को कनवर्टर पैरामीटर

सी के रूप में इंडेक्स प्रदान कर सकते हैं। एक पीओसीओ संपत्ति से बांधें। एक पीओसीओ संपत्ति को इसके INOTifyProperty को चेंजर