2008-11-13 87 views
3

我在GridViewColumn中有一个用于显示/更改数据库值的复选框。复选框的单击事件用于数据库中的更改值。为了处理财产的国家“器isChecked”我使用datatrigger和setter方法,下面SE XAML代码:WPF:当绑定datatrigger属性为“Ischecked”时出现复选框问题

<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

不应该

<Style TargetType="CheckBox"> 

改为:

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

编辑:

你可以试试这个:

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

是这就是正确的。谢谢。但是,这并不能帮助我用我的propertytrigger :( – KaJo 2008-11-13 13:50:19

0

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

0

替代使用单击以确定更改,也许您可​​以使用Checked和Unchecked事件?

相关问题