c# - 复选框绑定(bind)模式以一种方式工作

标签 c# wpf checkbox binding

我有一个数据网格,其中有一个列,里面有一个复选框(我知道 DataGridCheckBoxColumn 存在,但我不喜欢这种行为(单击一次进行选择,第二次单击以更改值))。

这个复选框是这样绑定(bind)的

<DataGridTemplateColumn x:Name="checkColumn" Header="Check">
    <DataGridTemplateColumn.CellTemplate>
       <DataTemplate>
          <CheckBox IsChecked="{Binding load, Mode=TwoWay}" />
       </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

TwoWay 模式应该是默认模式,但我还是添加了它,因为它看起来就像只读模式一样工作。

属性负载很简单

private bool _load;
public bool load
{
   get { return _load; }
   set { _load = value;}
}

但最终绑定(bind)无法正常工作。对于每个项目,我默认显示正确的值(选中/未选中),但如果我选中/取消选中复选框,数据不会发生任何变化(但复选框确实会在视觉上发生变化,但永远不会调用该项目的 setter ) .

我怀疑问题不大,因为读取了默认值,绑定(bind)也不是完全错误,但我无法找出为什么永远不会调用setter。

最佳答案

您是否尝试过UpdateSourceTrigger=PropertyChanged?

<CheckBox IsChecked="{Binding load, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />

关于c# - 复选框绑定(bind)模式以一种方式工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31559402/

相关文章:

c# - 所有图像效果的颜色矩阵

c# - 在 C#.NET 中使用 USB PS2 手控器

CakePHP:具有不同 html 属性的多个复选框

c# - Silverlight 与 WPF 的关系是什么(如果有的话)?

WPF ListView 总是显示完整的项目

jquery - 表单提交复选框将值设置为 "on"而不是 "true"

python - django-tables2 CheckBoxColumn - 仅生成标题复选框

c# - 保存位图时发生 GDI+ 异常中的一般错误

c# - 退款 Paypal Rest API 中的销售使用 C# 捕获了内部服务错误 500

WPF 在运行时更改控件模板中的文本