WPF数据网格控件绑定启用,但对控件进行2次单击

时间:2013-10-03 07:04:00

标签: c# wpf xaml data-binding wpfdatagrid

对这个非常细致的问题感到抱歉,但我很困惑。

我有datagriddatagrid内有两列控件checkboxdatetime 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。

2 个答案:

答案 0 :(得分:0)

我忘了在我的实现INotifyPropertyChanged的对象中添加对checkboxChecked属性的调用给PropertyChanged。

答案 1 :(得分:-1)

您是否正确实施了INotifyPropertyChanged