按键按钮操作

时间:2017-11-06 14:41:00

标签: c# wpf xaml mvvm caliburn.micro

我有一个标准的WPF按钮,它使用cal:Message.Attach来执行ViewModel中的一个功能。如果我按下F2按钮,我也想执行相同的功能。

是否有使用Caliburn Micro绑定的简单xaml声明可以启用此功能?

2 个答案:

答案 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
    }
}