【发布时间】:2017-12-16 06:06:03
【问题描述】:
我有一个包含复选框的 DataGrid。我想通过单击删除按钮从选中复选框的 DataGrid 中删除所有行。我的数据网格的 XAML 如下所示。
<DataGrid x:Name="orders" Grid.Row="4" Background="AliceBlue" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" AutoGenerateColumns="False" >
<DataGrid.Columns>
<DataGridCheckBoxColumn Header="Select" Binding="{Binding Path=IsSelected, Mode=TwoWay, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGridRow}}}" ></DataGridCheckBoxColumn>
<DataGridTextColumn Header="Item Name" Binding="{Binding Path=Name}" ></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
我想为单击按钮编写代码以删除所有选中复选框的行。
private void btnDelete_Click(object sender, RoutedEventArgs e)
{
//Delete logic here
}
我如何实现这一目标?
注意:我使用的是 EntityFramework 而不是 ADO。数据网格绑定到 Order 类型的可观察集合,例如 ObservableCollection<Order>
【问题讨论】:
-
当前行为是什么,基于您尝试过的行为与预期行为不同。如果复选框绑定正确,那么只需获取
SelectedItems并将它们从集合中删除即可。 -
也许代码 sn-p 可以提供帮助。如何获取已检查的行。