私は持っている
<DataGridCheckBoxColumn
Binding="{Binding Path=Foo, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
/>
と
public bool Foo{ get; set; }
チェック/チェック解除はを設定しますが、コードFoo
で設定Foo
してもチェックボックスの状態は変更されません。提案はありますか?
PropertyChanged
で Foo を設定するときにイベントを発生させる必要がありますDataContext
。通常、次のようになります。
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));
}
}
}
を呼び出すFoo = someNewvalue
と、PropertyChanged
イベントが発生し、UI が更新されます。