Как привязать удаление к действию в Caliburn.Micro WPF? - PullRequest
1 голос
/ 04 мая 2020

Сейчас я пытаюсь привязать клавишу «удалить» к Action при удалении строки таблицы данных.

Установка KeyBinding, похоже, не работает:

<DataGrid.InputBindings>
    <KeyBinding Key="Delete"
                cal:Message.Attach="[Key Delete] = [Action DeletePartNumberRow()]"/>
</DataGrid.InputBindings>

Установка значения DataGrid тоже не работает:

<DataGrid x:Name="PartNumbers"
          CanUserAddRows="True"
          CanUserDeleteRows="True"
          cal:Message.Attach="[Gesture Delete] = [Action DeletePartNumberRow()]">
...
</DataGrid>

Мне было интересно, есть ли другой способ сделать это, или я пытаюсь сделать это неправильно?

В конечном итоге я хотел бы иметь возможность создавать собственные привязки клавиш в приложении. Есть ли другой способ сделать это sh?

1 Ответ

1 голос
/ 05 мая 2020

Вы можете сделать это, производя от System. Windows .Interactivity.TriggerBase:

xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"

<i:Interaction.Triggers>
    <common:InputBindingTrigger>
        <common:InputBindingTrigger.InputBinding>
            <KeyBinding Key="Delete"/>
        </common:InputBindingTrigger.InputBinding>
        <cal:ActionMessage MethodName="DoTheMagic"/>
    </common:InputBindingTrigger>
</i:Interaction.Triggers>

у вас много образцов на net, например ЗДЕСЬ

...