【发布时间】:2013-10-03 07:04:00
【问题描述】:
很抱歉这个非常细致的问题,但我很困惑。
我有一个datagrid,在datagrid 内有两个列控件checkbox 和一个datetime picker。我已将datetime picker 绑定为仅在选中checkbox 时启用。它正在工作.. 除了datetime picker 没有立即激活,我必须在日期时间选择器列内单击两次才能启用它。检查checkbox 后,我立即确保checkbox 检查的值是正确的,它是正确的。我正在努力完善我的表格,这让我很烦。任何帮助表示赞赏!
我的 XAML 代码:
<DataGridTemplateColumn Header="MyCheckBox" Width="60">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding checkboxChecked, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"></CheckBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Reminder Date" Width="100">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<xctk:DateTimePicker Format="Custom" FormatString="M/d/yyyy h:mm" IsEnabled="{Binding Path=checkboxChecked, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
Value="{Binding checkboxDate, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
附加信息:我还在其他控件(如文本框)上测试了此按钮,它还需要在文本框内单击 2 次才能启用它。日期时间选择器也是扩展 WPF 工具包的一部分,但这似乎并不重要,因为它发生在其他控件中。
编辑:问题已解决...真的很晚...我忘记在实现 INotifyPropertyChanged 的对象中添加对 checkboxChecked 属性的调用到 PropertyChanged。
【问题讨论】:
-
它对我来说很好用。你是否正确实现了
INotifyPropertyChanged? -
@EliArbel,您能否将您的评论添加为答案并将其标记为正确答案 Ben,以便可以将此问题标记为已回答?
标签: c# wpf xaml data-binding wpfdatagrid