I know this question is asked before, but I couldnt find what I am looking for.

```
    private void dataGrid1_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {

if (oOrdItem.ItemNo == 0)
                {
                    e.Handled = true;
                    MessageBox.Show("Please save the order item", "Save");
                    return;
                }
}

```

Even if I call `e.Handled = true;`
it will select the datagrid row. I dont want to call `dataGrid1.SelectedIndex =-1;` because it will trigger selectionchanged event again. I also tried `dataGrid1.UnSelectAll();`
Any other way to cancel the selectionchanged event?