TwoWay या OneWayToSource बाइंडिंग केवल-पढ़ने के लिए गुण पर काम नहीं कर सकता


103

मेरे पास केवल एक संपत्ति है जिसे मुझे एक टेक्स्टबॉक्स में प्रदर्शित करने की आवश्यकता है, और यह त्रुटि रनटाइम पर हो रही है। मैंने सेट किया है IsEnabled="False", IsReadOnly="True"- नो लक। अन्य खोजों का कहना है कि रीडोनली को इसे ठीक करना चाहिए, लेकिन मेरे लिए नहीं। मुझे एक डमी सेटर जोड़कर एक बदसूरत वर्कअराउंड मिला है ...


5
यदि आप दो तरह से बाध्यकारी चाहते हैं, तो संपत्ति सेटर को सार्वजनिक होना चाहिए। देखें stackoverflow.com/questions/8773150/...
कर्नल आतंक

1
और नेत्रहीन स्पष्ट विभाग से, सेटर भी मौजूद होना चाहिए ; यानी सिर्फ एक संपत्ति के साथ एक ही मुद्दा प्रदर्शित करेगा।
दोपहर

जवाबों:


172

कोड के बिना अनुमान लगाना कठिन है, लेकिन आपको वनवे को बाइंडिंगकोड सेट करने में सक्षम होना चाहिए।

<TextBox Text="{Binding Path=MyProperty, Mode=OneWay}" />

या कोड से:

Binding binding = new Binding();
binding.Mode = BindingMode.OneWay;

29
हां, "मोड = वनवे" == केवल पढ़ें; "मोड = OneWayToSource" == केवल लिखें
ब्रायन एंडरसन

1
कृपया ध्यान दें .NET 4.0 में एक "बग" यह है कि कि OneWayToSource भी एक प्राप्त करता है: stackoverflow.com/questions/14967667/...
Luuk

इसके अलावा, सेटिंग्स पर टूवे बाइंडिंग के लिए देखें stackoverflow.com/a/845033/194717
टोनी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.