Как реализовать 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 использует предварительную версию.