0

我在 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 工具包的 Silverlight 页面中遇到了这个问题。我在具有相同行为的 WPF 应用程序中尝试了这个简化的示例。有人有想法吗?

4

1 回答 1

1

我建议使用 DataGridTemplateColumn 而不是内部带有 CheckBox。

<sdk:DataGridTemplateColumn Header="Bool">
    <sdk:DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <CheckBox IsChecked="{Binding Enable}"></CheckBox>
        </DataTemplate>
    </sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
于 2012-06-27T08:54:07.240 回答