c#如何使用按钮从datagrid中删除选定项

c#如何使用按钮从datagrid中删除选定项,c#,wpf,datagrid,C#,Wpf,Datagrid,我有daragrid,我想用按钮删除选中的行。我怎么做?谢谢 dataGrid.ItemsSource = new List<User>(FormOfAddData.MyList); dataGrid.ItemsSource=新列表(FormOfAddData.MyList); 将数据绑定到可观察的集合上。把它从你的收藏中移除 var myData = new ObservableCollection<User>(FormOfAddData.MyList); dataG

我有daragrid,我想用按钮删除选中的行。我怎么做?谢谢

dataGrid.ItemsSource = new List<User>(FormOfAddData.MyList);
dataGrid.ItemsSource=新列表(FormOfAddData.MyList);

将数据绑定到可观察的集合上。把它从你的收藏中移除

var myData = new ObservableCollection<User>(FormOfAddData.MyList);
dataGrid.ItemsSource = myData;

private void OnButtonClick(){
  User user = dataGrid.SelectedItem as User;
  if(user != null){
    myData.Remove(user);
  }
}
var myData=newobservedcollection(FormOfAddData.MyList);
dataGrid.ItemsSource=myData;
私有void OnButtonClick(){
User User=dataGrid.SelectedItem作为用户;
如果(用户!=null){
myData.Remove(用户);
}
}

您可以使用以下内容:

 private void DeleteSelectedRows_Click(object sender, EventArgs e)
 {
     foreach (DataGridViewRow row in dataGrid.SelectedRows)
     {
         dataGrid.Rows.RemoveAt(row.Index);
     }
 }

如果您使用
可观察收集
而不是@Tobias Theel建议的
列表

dataGrid.ItemsSource = new System.Collections.ObjectModel.ObservableCollection<User>(FormOfAddData.MyList);

设置ItemsSource属性后,无法从Items集合中删除项目。仅供参考,所有的否决票都是由于缺少可感知的工作。如果需要帮助,请展示一些伪单元测试
dataGrid.ItemsSource = new System.Collections.ObjectModel.ObservableCollection<User>(FormOfAddData.MyList);
<Button Content="Delete" Click="Button_Click_1" />
private void Button_Click_1(object sender, RoutedEventArgs e)
{
    User user = dataGrid.SelectedItem as User;
    if (user != null)
    {
        IList<User> users = dataGrid.ItemsSource as IList<User>;
        if (users != null)
            users.Remove(user);
    }
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
    User user = dataGrid.SelectedItem as User;
    if (user != null)
    {
        IList<User> users = dataGrid.ItemsSource as IList<User>;
        if (users != null)
            users.Remove(user);
        dataGrid.ItemsSource = null;
        dataGrid.ItemsSource = users;
    }
}