Version: 1.1 | 2.0 |

CommandShortcut

in namespace DotVVM.BusinessPack.Controls

Renders a control that triggers a command for a specific combination of keys.

Properties

Name Type Description Notes Default Value
Alt Boolean Gets or sets whether the Alt key must be pressed together with the Key.
attribute
inner element
static value
bindable
default
False
Ctrl Boolean Gets or sets whether the Control key must be pressed together with the Key.
attribute
inner element
static value
bindable
default
False
Enabled Boolean Gets or sets whether the Command is triggered when the shortcut is pressed.
attribute
inner element
static value
bindable
default
True
Key ShortcutKeys Gets or sets the shortcut key to be pressed.
attribute
inner element
static value
bindable
default
0
Shift Boolean Gets or sets whether the Shift key must be pressed together with the Key.
attribute
inner element
static value
bindable
default
False

Events

Name Type Description
Command Command Gets or sets the command triggered when the shortcut is pressed.

Usage & Scenarios

An invisible control which allows to trigger a command in the viewmodel for a key shortcut.

HTML Rendered by the Control

Sample 1: Basic Usage

Use the Ctrl, Shift and Alt properties to specify modifiers for the shortcut, and use the Key property to specify the shortcut key.

The Command property specifies a command in the viewmodel which is triggered when the key combination is hit.

<p>Press CTRL + Shift + S to Save</p>
<bp:CommandShortcut Ctrl="true"
                    Shift="true"
                    Alt="false"
                    Key="S"
                    Command="{command: Save()}" />

<p>Last save: {{value: LastSave}}</p>
using System;
using DotVVM.Framework.ViewModel;

namespace DotvvmWeb.Views.Docs.Controls.businesspack.CommandShortcut.sample1
{
    public class ViewModel : DotvvmViewModelBase
    {
        public string LastSave { get; set; } = "Not saved yet.";

        public void Save()
        {
            LastSave = DateTime.Now.ToString("HH:MM:ss");
        }
    }
}

Suggestions


Help & Contribute

The documentation is maintained on GitHub.
We'll be happy if you edit the page and create a pull request.

Send message