Связывание события KeyUp с параметром

Я использую RadGridView в WPF (VB.Net) и устанавливаю для него EventBinding следующим образом:

<telerik:EventToCommandBehavior.EventBindings>
    <telerik:EventBinding Command="{Binding CommandDeleteFolderRSP}" EventName="KeyUp"
                   CommandParameter="Delete" />
</telerik:EventToCommandBehavior.EventBindings>

=> Я хочу связать команду, если пользователь хочет удалить выбранную строку.

Проблема в том, что все клавиши запускают команду, а не только клавишу «Удалить».

В чем моя ошибка?

Большое спасибо.


person Community    schedule 15.01.2018    source источник


Ответы (1)


Вы должны связать команду с событием удаления, например:

<telerik:EventToCommandBehavior.EventBindings>
    <telerik:EventBinding Command="{Binding CommandDeleteFolderRSP}" EventName="Deleting" PassEventArgsToCommand="True" />
</telerik:EventToCommandBehavior.EventBindings>

И для вашей команды вы можете использовать его как:

Private Sub DeleteFolderRSP(ByVal p_parameter As Object)
    Dim args As GridViewDeletingEventArgs = TryCast(p_parameter, GridViewDeletingEventArgs)

    If (condition) Then
        'Do Something
    Else
        args.Cancel = True 'Cancel the deleting operation
    End If
End Sub

Ваш RadGridView должен:

  • Не устанавливайте для свойства IsReadOnly значение true, иначе событие Deleting не должно запускаться.
  • Для свойства CanUserDeleteRows задано значение true.
person Obiwan Kenobi    schedule 31.01.2018