首页 文章

WPF:将datatrigger绑定到属性“Ischecked”时Checkbox出现问题

提问于
浏览
3

我在GridViewColumn中有一个复选框,用于显示/更改数据库值 . 复选框的单击事件用于数据库中的更改值 . 为了处理属性状态“IsChecked”我正在使用datatrigger和setter,下面是se xaml代码:

<Style TargetType="CheckBox">
    <Setter Property="IsEnabled" Value="True" />
    <Style.Triggers>
        <DataTrigger Binding="{Binding Path=ID, Converter={StaticResource Converter}}"   Value="true">
            <Setter Property="IsChecked" Value="True"/>
        </DataTrigger>
    </Style.Triggers>
</Style>

绑定工作很好,直到我单击复选框 . 在我第一次单击该复选框后,如果数据库中的手动更改了映射到属性“IsChecked”的值,则属性“IsChecked”的状态不会更新 . 如果我将相同的值映射到复选框的属性“内容”,即使在我单击复选框后触发器也能正常工作 .

有没有人没有问题是什么?

3 回答

  • 0

    而不是使用Click来确定更改,也许您可以使用Checked和Unchecked事件?

  • 3

    您可以尝试添加第二个数据触发器以将复选框设置为false . 正如我从您的代码中看到的那样,您只将IsChecked设置为true,但永远不会为false .

  • 0

    不能

    <Style TargetType="CheckBox">
    

    而是:

    <Style TargetType="{x:Type CheckBox}">
    

    编辑:

    你可以试试这个:

    <Style TargetType="{x:Type CheckBox}" >
            <Setter Property="IsChecked" Value="{Binding Path=ID, Converter={StaticResource Converter}}" />
        </Style>
    

相关问题