WPF CheckBox TwoWay Binding ne fonctionne pas
j'ai
<DataGridCheckBoxColumn
Binding="{Binding Path=Foo, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
/>
Et
public bool Foo{ get; set; }
verification / Unchecking sets Foo
, mais la configuration de Foo
dans le code ne change pas l'état de la case à cocher. Tout Suggesitons?
12
demandé sur
Ugur
2013-04-19 03:18:02
1 réponses
vous devez relancer L'événement PropertyChanged lorsque vous définissez Foo dans votre DataContext. Normalement, cela ressemblerait à quelque chose comme:
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));
}
}
}
si vous appelez Foo = someNewvalue, L'événement PropertyChanged sera levé et votre UI devrait être mis à jour
17
répondu
Andrew
2013-04-18 23:38:54