Обновите вашу сетку данных для привязки к выбранному элементу в вашей viewModel.Обновите свою сетку данных следующим образом:
<data:DataGrid ItemsSource="{Binding Coordinates}" AutoGenerateColumns="False" Margin="10" SelectedItem="{Binding SelectedItem, Mode=TwoWay}">
В вашей модели представления добавьте следующее свойство:
public Coordinate_DataViewModel SelectedItem
{
get { return selectedItem; }
set { selectedItem = value; }
}
private Coordinate_DataViewModel selectedItem;
Затем вы можете добавить следующий метод в модель представления:
public void DeleteSelectedItem()
{
DeleteCoordinate(this.SelectedItem);
}
Теперь, подключите вашу кнопку «Удалить» в контекстном меню к DeleteSelectedItem (), и все будет хорошо.
Надеюсь, это поможет!
Отредактируйте для ответа на комментарий: Вот пример того, что вы могли бы добавить, чтобы реализовать проблему, о которой вы упоминали в комментариях, где вы не всегда хотите иметь возможность удалить элемент.Обратите внимание, что я добавил INotifyPropertyChanged в установщик SelectedItem, чтобы привязки IsDeletable были обновлены.
public Coordinate_DataViewModel SelectedItem
{
get { return selectedItem; }
set
{
selectedItem = value;
OnPropertyChanged("IsDeletable");
}
}
private Coordinate_DataViewModel selectedItem;
public Visibility IsDeletable
{
get
{
if (SelectedItem.Y == 2)
{
return Visibility.Collapsed;
}
return Visibility.Visible;
}
}