对这个非常细致的问题感到抱歉,但我很困惑。
我有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
工具包的一部分,但这似乎并不重要,因为它适用于其他控件。
编辑:问题已解决......现在已经很晚了......我忘了在我的对象中添加对checkboxChecked属性的调用,以实现INotifyPropertyChanged。
答案 0 :(得分:0)
我忘了在我的实现INotifyPropertyChanged的对象中添加对checkboxChecked属性的调用给PropertyChanged。
答案 1 :(得分:-1)
您是否正确实施了INotifyPropertyChanged
?