私はプログラムで生成している可変数の列を持つDataGridを持っています。これにはDataGridTemplateColumnsが含まれ、それぞれにCheckBoxとTextBlockを含むDockPanelが含まれています。WPF CheckBox.IsCheckedバインディング
バインディングコード:
Binding bindingPicked = new Binding(string.Format("Prices[{0}].Picked", i));
bindingPicked.Mode = BindingMode.TwoWay;
チェックボックスコード:
FrameworkElementFactory factoryCheckBox = new FrameworkElementFactory(typeof(CheckBox));
factoryCheckBox.SetValue(CheckBox.IsCheckedProperty, bindingPicked);
摘みプロパティは:データグリッドが初期化されると、期待どおり
private bool _picked;
public bool Picked
{
get { return _picked; }
set { _picked = value; }
}
、採取ゲッターが呼び出されます。ただし、チェックボックスをオンまたはオフにすると、セッターは呼び出されません。これを引き起こしているのは何ですか?私はDependencyPropertyを使いたくないので、ユーザーがCheckBoxをクリックしたときにプロパティセッターが呼び出されるだけで済むと思う。
編集:明らかに私は馬鹿です、私は単に忘れました bindingPicked.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; これを自由に閉じることができます。
ええと...なんて愚かな間違い(そして2時間はそれを "修正"することを無駄にした)。ありがとう – svinja