2013-04-18 10 views
10

मैंWPF चेक बॉक्स TwoWay काम कर बाध्यकारी नहीं

<DataGridCheckBoxColumn 
    Binding="{Binding Path=Foo, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
/> 

और

public bool Foo{ get; set; } 

चेकिंग/अनचेक करने से सेट Foo है, लेकिन कोड में Foo की स्थापना चेकबॉक्स राज्य नहीं बदलता है। कोई Suggesitons?

+0

पता नहीं है तुम क्यों उतर गया मतदान किया। मेरे पास एक ही सवाल था और यह हल हो गया। आपके लिए उभरा –

उत्तर

14

जब आप अपने डेटा कॉन्टेक्स्ट में फू सेट करते हैं तो आपको PropertyChanged ईवेंट को बढ़ाने की आवश्यकता होती है। आम तौर पर, यह कुछ ऐसा दिखाई देगा:

public class ViewModel : INotifyPropertyChanged 
    { 
     private bool _foo; 

     public bool Foo 
     { 
      get { return _foo; } 
      set 
      { 
       _foo = value; 
       OnPropertyChanged("Foo"); 
      } 
     } 

     public event PropertyChangedEventHandler PropertyChanged; 

     protected void OnPropertyChanged(string propertyName) 
     { 
      var propertyChanged = PropertyChanged; 
      if (propertyChanged != null) 
      { 
       propertyChanged(this, new PropertyChangedEventArgs(propertyName)); 
      } 
     } 
    } 

आप को कॉल करते हैं फू = someNewvalue, PropertyChanged घटना बढ़ा दी जाएगी और अपने यूआई अद्यतन किया जाना चाहिए

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