2013-04-18 10 views
10

IWPF CheckBox TwoWay nicht bindend arbeiten

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

Und

public bool Foo{ get; set; } 

prüfen/Entfernen des Häkchens setzt Foo, aber Foo in Code-Einstellung nicht die Checkbox Zustand ändern. Irgendwelche Suggestionen?

+0

aktualisiert weiß nicht, warum Sie bekam niedergestimmt. Ich hatte die gleiche Frage und das hat es gelöst. upvoted für dich. –

Antwort

14

Sie müssen das PropertyChanged-Ereignis auslösen, wenn Sie Foo in Ihrem DataContext festlegen. Normalerweise würde es ungefähr so ​​aussehen:

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)); 
      } 
     } 
    } 

Wenn Sie rufen Foo = someNewvalue, wird der Property Ereignis ausgelöst und die Benutzeroberfläche sollte

Verwandte Themen