从datagrid wpf中删除行

时间:2017-11-14 11:47:09

标签: c# wpf datagrid

我试图通过双击该行从数据网格中删除所选行。

private void Row_DoubleClick(object sender, MouseButtonEventArgs e)
    {
        int selected_index = planeList.SelectedIndex;
        string cellValue = GetSelectedCellValue();
        MessageBox.Show(selected_index.ToString());
        if (m.removePlane(cellValue))
        {
           // planeList.Items.Clear();
            planeList.Items.RemoveAt(selected_index);
            planeList.Items.Refresh();

        }

XAML:

<DataGrid Name="planeList" AutoGenerateColumns="False"  Grid.Row="4" Grid.ColumnSpan="4"  ItemsSource="{Binding}" SelectedItem="{Binding SelectedItem, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
         IsReadOnly="True" 
              >
        <DataGrid.ItemContainerStyle>
            <Style TargetType="DataGridRow">
                <EventSetter Event="MouseDoubleClick" Handler="Row_DoubleClick"/>
            </Style>
        </DataGrid.ItemContainerStyle>
    </DataGrid>

一切正常,直到removeAt,此时我有一个异常'超出范围',但所选索引等于0或更大。 此外,选择一个项作为空返回。 我真的不知道自己错过了什么 感谢。

编辑:planeList.Items.Clear();是在错误的地方。谢谢!

0 个答案:

没有答案