【问题标题】:DataGridTemplateColumn bindingDataGridTemplateColumn 绑定
【发布时间】:2017-01-16 07:19:44
【问题描述】:

我想在DataGrid 中有自定义列:

<DataGridTemplateColumn Header="Click">
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <CheckBox IsChecked="{Binding IsChecked}" />
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

但是,单击CheckBox(选中/取消选中)不会触发属性设置器

bool _isChecked;
public bool IsChecked
{
    get { return _isChecked; }
    set
    {
        _isChecked = value; // setting breakpoint here
        OnPropertyChanged();
    }
}

setter sometimes 被调用,但我不明白它究竟是什么时候发生的:当我切换行时?当我双击另一个单元格时?还是什么?

如果我使用ListView,则立即触发绑定。

我的问题:发生了什么事?一旦我勾选/取消勾选CheckBox,如何调用setter?

【问题讨论】:

  • 应该可以解决您的问题。
  • @Mr.B,谢谢,就是这样。
  • 不客气。如果您不介意,请验证它是否正确。

标签: c# wpf mvvm binding datagrid


【解决方案1】:

&lt;CheckBox IsChecked="{Binding IsChecked,UpdateSourceTrigger=PropertyChanged}" /&gt;

应该可以解决您的问题。

【讨论】:

  • 我完全忘记了UpdateSourceTrigger,而且很难确定它是LostFocus(正如我在问题中解释的那样,它不稳定)。跨度>
猜你喜欢
  • 2013-07-02
  • 2011-04-06
  • 2014-04-14
  • 1970-01-01
  • 2012-10-13
  • 2012-04-07
  • 2011-12-18
  • 2014-11-15
  • 2011-02-06
相关资源
最近更新 更多