考虑以下XAML:
<UserControl x:Class="Solution.Views.SomeView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
xmlns:cm="http://www.caliburnproject.org"
cm:Message.Attach="[Key F11] = [ToggleFullScreen]">
<Grid>
<ToolBar DockPanel.Dock="Top" Margin="0">
<xctk:IconButton Style="{StaticResource ToolBarButton}" ToolTip="Full Screen (F11)"
cm:Message.Attach="ToggleFullScreen">
<Image Style="{StaticResource ToolBarButtonImage}" Source="pack://application:,,,/Resources/Img/Full_Screen32.png"/>
</xctk:IconButton>
</ToolBar>
</Grid>
</UserControl>
F11不会触发ToggleFullScreen
方法,但会单击按钮。将[F11键]更改为[Gesture Alt + F]或[Gesture F11]都不起作用...
这是为什么,以及如何获取可用于Caliburn Micro 3.2.0的键盘快捷键?
答案 0 :(得分:1)
看看GitHub上的官方Scenario.KeyBinding示例。特别注意Configure()
类中的Bootstrapper
方法。在那里的代码可以实现按键绑定。如果您在示例项目的ToggleFullScreen()
类中添加了ShellViewModel
方法,并将cal:Message.Attach
的{{1}}的附加属性ShellView
设置为[Key F11] = [ToggleFullScreen]
在您的示例中,它应该可以工作。
因此,您需要将代码从Configure()
方法复制到引导程序中,并将样例项目的Input
文件夹下的类导入项目。