我有一个标准的WPF按钮,它使用cal:Message.Attach
来执行ViewModel中的一个功能。如果我按下F2按钮,我也想执行相同的功能。
是否有使用Caliburn Micro绑定的简单xaml声明可以启用此功能?
答案 0 :(得分:3)
覆盖引导程序的Configure()
方法:https://github.com/Caliburn-Micro/Caliburn.Micro/blob/master/samples/scenarios/Scenario.KeyBinding/Bootstrapper.cs
...试试这个:
<Button x:Name="TheFunction"
Content="Click"
cal:Message.Attach="[Key F2] = [TheFunction];" />
GitHub上的官方回购中提供了完整的代码示例:https://github.com/Caliburn-Micro/Caliburn.Micro/tree/master/samples/scenarios/Scenario.KeyBinding
答案 1 :(得分:0)
您必须为事件添加处理程序:
public MainWindow()
{
InitializeComponent();
this.PreviewKeyDown += new KeyEventHandler(MainWindow_PreviewKeyDown);
}
void MainWindow_PreviewKeyDown(object sender, KeyEventArgs e)
{
if ((e.Key == Key.F2))
{
//DO SOMETHING
}
}