Я понял это сам, и я опубликую свой ответ для тех, кто борется с ним.
Таким образом, основной подход заключается в использовании триггеров взаимодействия.Для чего вам нужно добавить пакет System.Windows.Interactivity
в ваш проект через NuGet.
Затем добавьте следующие 2 пространства имен в ваш файл xaml, который содержит ваш RadGridView:
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"
Затем вы настраиваетеваш RadGridView с триггерами.
<telerik:RadGridView x:Name="radGridView" Grid.Row="1" ShowGroupPanel="False" IsFilteringAllowed="False" ItemsSource="{Binding Lieferadressen}" ColumnWidth="*">
<i:Interaction.Triggers>
<i:EventTrigger EventName="RowEditEnded">
<ei:CallMethodAction TargetObject="{Binding}" MethodName="OnLieferadresseRowEditEnded" />
</i:EventTrigger>
</i:Interaction.Triggers>
</telerik:RadGridView>
Здесь важно EventName
.
Тогда в вашей ViewModel:
public void OnLieferadresseRowEditEnded(object sender, GridViewRowEditEndedEventArgs e)
{
var row = e.Row as GridViewRow;
if (e.EditAction == GridViewEditAction.Cancel)
{
return;
}
else if (e.EditOperationType == GridViewEditOperationType.Insert)
{
//Insert the entry in the data base
}
else if (e.EditOperationType == GridViewEditOperationType.Edit)
{
//Update the entry in the data base
}
}