2012-01-07 6 views
15

मैं MVVM पद्धति का उपयोग कर रहा हूँ और जब मैं अपने एप्लिकेशनInvalidOperationException - एक TwoWay या OneWayToSource बाध्यकारी केवल पढ़ने के लिए संपत्ति पर काम नहीं कर सकता

InvalidOperationException एक TwoWay चलाने निम्नलिखित प्राप्त कर रहा या OneWayToSource बंधन पर काम नहीं कर सकता 'ViewModel.SynergyViewModel' प्रकार की केवल-पढ़ने वाली संपत्ति 'विकल्प'।

मैंने अपने दृश्य मॉडल में अपने सभी स्रोतों पर टिप्पणी की है और इसे वापस चेक बॉक्स में ढूंढ लिया है। अगर मैं अपने दृश्य मॉडल में चेकबॉक्स या उचितता पर टिप्पणी करता हूं तो ऐप चलता है, कार्यक्षमता को घटाता है। नीचे मैंने अपने चेकबॉक्स और व्यूमोडेल के भीतर की संपत्ति के लिए कोड सूचीबद्ध किया है।

<CheckBox Grid.Column="4" HorizontalAlignment="Right" Margin="5,0,5,5" IsChecked="{Binding Options}" Content="Options"/> 
private bool _Options; 
public bool Options 
{ 
    get 
    { 
     return _Options; 
    } 
    private set 
    { 
     if (_Options == value) 
      return; 

     _Options = value; 
     OnPropertyChanged("Options"); 
    } 
} 

System.InvalidOperationException बाध्यकारी प्रकार के केवल पढ़ने के लिए संपत्ति 'विकल्प' 'ViewModel.MyViewModel' पर काम नहीं कर सकता संदेश = एक TwoWay या OneWayToSource हुई। स्रोत = PresentationFramework StackTrace: MS.Internal.Data.PropertyPathWorker.CheckReadOnly पर (वस्तु आइटम, वस्तु की जानकारी) InnerException:

मैं क्या कर रहा हूँ क्या मैं यहाँ याद कर रहा हूँ पर कोई भी विचार?

+0

के संभावित डुप्लिकेट सेटर से निजी दूर करने के लिए बाध्यकारी [एक TwoWay या OneWayToSource बाध्यकारी रीड-ओनली संपत्ति पर काम नहीं कर सकता] (http निर्दिष्ट: // stackoverflow.com/questions/590269/a-twoway-or-onewaytosource-binding-cannot-work-on-the-read-only-property) – DocMax

उत्तर

21

या तो अपने सेटर को सार्वजनिक बनाएं या स्पष्ट रूप से Binding.ModeOneWay पर सेट करें।

+1

धन्यवाद मुझे पता था कि मैं कुछ मूर्खतापूर्ण कर रहा था। – poco

+0

यदि आप .net 4.5 स्थापित मशीन पर एक .NET 4.0 WPF प्रोजेक्ट विकसित कर रहे हैं, तो आप विकास के दौरान इस त्रुटि में नहीं भागेंगे! माइक्रोसॉफ्ट को इसे ठीक करने की जरूरत है। – Jordan

+0

यह इतना अजीब बात है कि मुझे एक आंतरिक सेटटर के साथ एक ही त्रुटि मिल रही है ... मुझे लगता है कि एक आंतरिक सेटर की अनुमति होगी, लेकिन अजीब तरह से नहीं। – Omaer

1

आपका सेटर निजी है, या तो मोड Oneway है या

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