WPF 数据网格控件绑定启用,但需要单击控件 2 次

本文关键字:控件 单击 启用 数据网 数据 网格 绑定 WPF | 更新日期: 2023-09-27 18:33:37

很抱歉这个问题很细致,但我被困住了。

我有一个datagriddatagrid里面有两列控件,一个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 的对象中添加对复选框已检查属性的调用。

WPF 数据网格控件绑定启用,但需要单击控件 2 次

我忘了在我的对象中添加对复选框已检查属性的调用,该对象中实现了 INotifyPropertyChanged。