按键按钮动作
Key Press to Button Action
我有一个标准的 WPF 按钮,它使用 cal:Message.Attach
在 ViewModel 中执行一个函数。如果我按下 F2 按钮,我也想执行相同的功能。
是否有使用 Caliburn 微绑定的简单 xaml 声明可以启用此功能?
您必须向事件添加处理程序:
public MainWindow()
{
InitializeComponent();
this.PreviewKeyDown += new KeyEventHandler(MainWindow_PreviewKeyDown);
}
void MainWindow_PreviewKeyDown(object sender, KeyEventArgs e)
{
if ((e.Key == Key.F2))
{
//DO SOMETHING
}
}
覆盖引导程序的 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
我有一个标准的 WPF 按钮,它使用 cal:Message.Attach
在 ViewModel 中执行一个函数。如果我按下 F2 按钮,我也想执行相同的功能。
是否有使用 Caliburn 微绑定的简单 xaml 声明可以启用此功能?
您必须向事件添加处理程序:
public MainWindow()
{
InitializeComponent();
this.PreviewKeyDown += new KeyEventHandler(MainWindow_PreviewKeyDown);
}
void MainWindow_PreviewKeyDown(object sender, KeyEventArgs e)
{
if ((e.Key == Key.F2))
{
//DO SOMETHING
}
}
覆盖引导程序的 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