आप इसे इस तरह से नहीं कर सकते हैं।
उस तरह की चाल प्राप्त करने के लिए, आपको अपने आइटम "धारक वर्ग" होने की आवश्यकता होगी जो उस संपत्ति का खुलासा करे जिससे आप अपना टेक्स्टबॉक्स बांध सकें।
इसे समझने के लिए, यह अनुमान कॉल की निम्नलिखित छद्म अनुक्रम:
class ListBox
{
Bind(Items)
{
foreach(var item in Items)
{
DataTemplate Template = LoadTemplateForItem(item.GetType()); // this is where your template get loaded
Template.Bind(item); //this is where your template gets bound
}
}
}
आपका टेम्पलेट (लिस्टबॉक्स साथ DataTemplate) भरी हुई है और आइटम (जो मुझे लगता है आपके मामले में एक स्ट्रिंग है) पारित हो में इस बिंदु पर, यह केवल स्ट्रिंग को जानता है, और ऊपर की ओर कुछ भी प्रभावित नहीं कर सकता है। एक दो-तरफा बाध्यकारी संग्रह को प्रभावित नहीं कर सकता क्योंकि टेम्पलेट यह नहीं जानता कि किस संदर्भ में इसका उपयोग किया जा रहा है, इसलिए यह मूल संग्रह पर वापस नहीं पहुंच सकता है और इसकी सामग्री को संशोधित नहीं कर सकता है। उस मामले के लिए, टेक्स्टबॉक्स के लिए यह वही बात है। यदि इसे एक कंटेनर और संपत्ति का नाम नहीं दिया जाता है, तो इसमें परिवर्तनों को "वापस स्टोर" करने के लिए कहीं भी नहीं है। यह मूल रूप से फ़ंक्शन कॉल में स्ट्रिंग को पास करने जैसा ही है। फ़ंक्शन बदल नहीं सकता है जिसमें कौन सी स्ट्रिंग पारित की गई थी (ट्रिक्स को अनदेखा करना जैसे संदर्भ-संदर्भ तर्क पास करना)।
public class MyDataItem
{
string Data { get; set;}
}
तो फिर तुम उन का संग्रह करने के लिए अपने ListBox बाध्य कर सकते हैं:
अपने मामले को वापस पाने के लिए आपको जिन वस्तुओं पर एक संपत्ति के मूल्य संपादित करने की आवश्यकता है कि युक्त बेनकाब का एक संग्रह का निर्माण करने की जरूरत है आइटम और संशोधित आपके डेटामैप्लेट:
<ListBox.ItemTemplate>
<DataTemplate>
<TextBox Name="EditableText" Text="{Binding Data, Mode=TwoWay}"/>
</DataTemplate>
</ListBox.ItemTemplate>
स्रोत
2009-04-12 06:22:45
मुझे एक ही समस्या है, लेकिन क्योंकि मैं WPF के साथ बहुत नया हूं, मुझे नहीं पता कि {बाइंडिंग डेटा, मोड = दोवे} कैसे लिखना है यदि मेरे पास तारों की सूची है और कोई वास्तविक संपत्ति नहीं है जो –
बाध्य हो सकती है नहीं, यह मेरे उत्तर का मुद्दा है ... आपको तारों की अपनी सूची लेने की आवश्यकता है, उन तारों को रखने वाली वस्तुओं की एक सूची बनाएं (प्रत्येक ऑब्जेक्ट में एक स्ट्रिंग है, जो किसी संपत्ति के माध्यम से सुलभ है), और सूची बॉक्स में द्वितीयक सूची प्रदर्शित करें । –