我有一个数据网格,其中包含我以编程方式生成的可变列数。它包含 DataGridTemplateColumns,每个都有一个包含 CheckBox 和 TextBlock 的 DockPanel。
绑定(bind)代码:
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; }
}
初始化数据网格时,将按预期调用 Picked getter。但是,当我选中/取消选中复选框时,不会调用 setter 。是什么原因造成的?我不想使用 DependencyProperty,我认为不需要它,因为我只需要在用户单击 CheckBox 时调用属性 setter 。
编辑:显然我是个白痴,我只是忘记了 bindingPicked.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; 请随意关闭它。
最佳答案
bindingPicked.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
应该这样做:)
关于c# - WPF CheckBox.IsChecked 绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9938702/