我在DataGrid中使用CheckBoxColumn。通常,绑定工作正常,但UpdateSourceTrigger(设置为PropertyChanged)将被忽略,并且属性会在LostFocus上更新。我的错误是什么或如何更改此行为以立即更新属性?据我所知,设置UpdateSourceTrigger应该可以工作。
<sdk:DataGrid Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="2"
ItemsSource="{Binding List}"
AutoGenerateColumns="False">
<sdk:DataGrid.Columns>
<sdk:DataGridCheckBoxColumn Header="Enable"
Binding="{Binding Enable, UpdateSourceTrigger=PropertyChanged}" />
<sdk:DataGridTextColumn Header="Message"
Binding="{Binding Text}"
IsReadOnly="True" />
<!-- [...] -->
</sdk:DataGrid.Columns>
</sdk:DataGrid>
我在使用Silverlight Toolkit的Silverlight页面中遇到此问题。我在具有相同行为的WPF应用程序中尝试了这个简化示例。有人有想法吗?
答案 0 :(得分:1)
我建议使用DataGridTemplateColumn而不是内部的CheckBox。
<sdk:DataGridTemplateColumn Header="Bool">
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Enable}"></CheckBox>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>