c# - WPF CheckBox.IsChecked 绑定(bind)

标签 c# wpf data-binding

我有一个数据网格,其中包含我以编程方式生成的可变列数。它包含 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/

相关文章:

c# - 取消由 ASP.NET 启动的任务

c# - 指定应用程序 c# 的区域性

C# WPF Frame 如何在页面上创建幻灯片效果?

c# - 通过类接口(interface)访问类的属性

c# - 空工具提示问题

c# - 使用 Entity Framework 5 删除多行

c# - 如何筛选 SharePoint 上的列表

c# - WPF 控件的自定义基类

javascript - polymer 1.x : Databinding Arrays

javascript - knockout 不绑定(bind)值