Как реализовать MenuItem с InputGesture в приложении Avalonia MVVM?

Мне нужно меню с InputGesture, как на картинке здесь: https://github.com/AvaloniaUI/Avalonia/pull/3602

Начиная с Microsoft Visual Studio Community 2019 с новым приложением Avalonia MVVM, я пытаюсь настроить XAML в Visual Studio для достижения этой цели:

<MenuItem Header="New" InputGesture="CTRL + N" />

Эта строка затем приводит к сообщению об ошибке:

Unable to resolve suitable regular or attached property InputGesture on type Avalonia.Controls:Avalonia.Controls.MenuItem

Я нашел здесь рабочий образец:https://github.com/AvaloniaUI/XamlControlsGallery

Я бы попытался создать свое решение и проект на основе этого примера, чтобы заставить его работать. Но я бы предпочел реализовать его в новой сборке приложения Avalonia MVVM с нуля с помощью Visual Studio. Подсказки очень ценятся.

2 ответа

Решение

В настоящее время новые функции не задокументированы в Avalonia Docs, поэтому другим может быть полезно ознакомиться с моими выводами.
Моей целью было создать меню с ярлыками, содержащими числа (например,Alt+0).
В чистом WPF (без Avalonia) значение"Alt+0"могут быть назначены тегам, представляющим меню с ярлыками.
Однако в Авалонии значения должны соответствоватьenum Keyв Key.cs.
В противном случае в указанном примере меню будет отображатьсяAlt+None вместо того Alt+0, и привязка команды не будет работать должным образом.
Это пример строки XAML для отображения меню и привязки команды по желанию:

<MenuItem Header="Menu 0" InputGesture="Alt+D0" HotKey="Alt+D0" Command="{Binding Alt0Command}"/>

InputGesture доступен начиная с 0.10.0-preview1, он недоступен в стабильной версии 0.9.xфилиал. XamlControlsGallery использует предварительную версию.

Другие вопросы по тегам