Можно ли динамически определять привязки клавиш на основе связанного источника данных? У меня есть экран с сеткой, и я разрешаю пользователям сохранять для него различные макеты. В настоящее время я связываю контекстное меню сетки с именами макетов (через ViewModel), позволяя им переключать макеты через меню.
Однако я бы хотел связать каждую раскладку с сочетанием клавиш. Поскольку сочетания клавиш определяются пользователем, я не могу просто добавить количество элементов <KeyBinding>
в окне XAML. Другая проблема заключается в том, что для привязки потребуется указать имя макета в качестве параметра команды.
Есть ли способ динамически создать серию <KeyBinding>
элементов из динамического источника?
В качестве теста я статически добавил привязки к своему XAML-представлению, и они работают нормально, но это было только для проверки моей концепции:
<UserControl.InputBindings>
<KeyBinding Key="F7" Command="{Binding MyCommand}" CommandParameter="My Layout Name"/>
<KeyBinding Key="F8" Command="{Binding MyCommand}" CommandParameter="My Other Layout Name"/>
</UserControl.InputBindings>