C# 数据网格删除行

C# 数据网格删除行,c#,xaml,datagrid,C#,Xaml,Datagrid,在您从datagrid中删除一行之后,它是否可以链接到命令或事件,以便我也可以将其从SQL中抛出 现在我有这个网格。我可以通过I:Interaction.Triggers编辑它 删除有类似的功能吗 XAML: <DataGrid ItemsSource="{Binding Contactpersons}" AutoGenerateColumns="False" Grid.Column="1" Margin="35,99,8,10" Grid.Row="5" Grid.ColumnS

在您从datagrid中删除一行之后,它是否可以链接到命令或事件,以便我也可以将其从SQL中抛出

现在我有这个网格。我可以通过I:Interaction.Triggers编辑它

删除有类似的功能吗

XAML:
    <DataGrid ItemsSource="{Binding Contactpersons}" AutoGenerateColumns="False" Grid.Column="1" Margin="35,99,8,10" Grid.Row="5" Grid.ColumnSpan="3">
                <i:Interaction.Triggers>
                    <i:EventTrigger EventName="SelectionChanged">
                        <cmd:EventToCommand Command="{Binding EditCommand}" PassEventArgsToCommand="True"/>
                    </i:EventTrigger>
                </i:Interaction.Triggers>
                <DataGrid.Columns>
                    <DataGridTextColumn Header="Naam"  Binding="{Binding Name}"/>
                    <DataGridTextColumn Header="Bedrijf" Binding="{Binding Company}" />
                    <DataGridTextColumn Header="Functie"  Binding="{Binding JobRole/Name}"/>
                    <DataGridTextColumn Header="Stad" Binding="{Binding City}" />
                    <DataGridTextColumn Header="E-mail" Binding="{Binding Email}" />
                    <DataGridTextColumn Header="Telefoon" Binding="{Binding Phone}" />
                    <DataGridTextColumn Header="GSM" Binding="{Binding Cellphone}" />
                </DataGrid.Columns>
            </DataGrid>

C#:

    public ICommand EditCommand
            {
                get { return new RelayCommand<SelectionChangedEventArgs>(Edit); }
            }

            private void Edit(SelectionChangedEventArgs e)
            {
                if (e.RemovedItems.Count > 0)
                {
                    Contactperson b = e.RemovedItems[0] as Contactperson;
                    Contactperson.EditPerson(b);
                }
            }
XAML:
C#:
公共ICommand edit命令
{
获取{返回新的RelayCommand(编辑);}
}
私人作废编辑(选择ChangedEventArgs e)
{
如果(e.RemovedItems.Count>0)
{
联系人b=e.作为联系人删除项目[0];
联系人。编辑人员(b);
}
}

那么,对于delete而不是edit,是否有类似的方法?

在datagrid中,有一个名为unloadinggrow的事件

 private void dgv_UnloadingRow(object sender, System.Windows.Controls.DataGridRowEventArgs e)
    {

          // Add your deletion code from SQL.

    }
更新:-


请检查此链接

U可以添加一个带有事件的按钮,如果我理解正确,您可以在数据库中编写删除代码?或者您需要在从datagrid删除行后,它应该完成此工作?我将有一个带有“在此处键入人员姓名”的文本框,其中的人员姓名将从sql中删除。我使用的是MVVM模式。感谢您的回复。但我使用的是mvvm模型。所以我宁愿不在代码背后工作,我不擅长MVVM。不过我想你可以在你的viewModel中创建一个事件,并且可以嵌入到DataGrid事件中??