Как назначить ярлык для кнопки в MVVMLight - PullRequest
0 голосов
/ 18 мая 2018

Как я могу присвоить enter key событию on_Click в следующем коде?

Чтобы сделать это понятным, я хочу вызвать код внутри метода on_Click() при нажатии клавиши ввода.

Опять же, я использую инфраструктуру MVVMLight.

ViewModel

namespace MyApp.ViewModel
{
    public class AppViewModel : ViewModelBase

    {
        public ICommand clickCommand { get; private set; }

        public AppViewModel()
        {
            clickCommand = new RelayCommand(() => on_Click());
        }

        private void on_Click()
        {      
            // button clicked     
        }
    }
}

XAML

<Button x:Name="myButton" 
        Content="Click Me" 
        HorizontalAlignment="right"
        Margin="0,84,72,0" 
        VerticalAlignment="Top" 
        Width="66" Height="25"
        Command="{Binding clickCommand}" Foreground="#FFF2F5FC" BorderBrush="{x:Null}">
    <Button.Background>
        <SolidColorBrush Color="#FF3DA5DB"/>
    </Button.Background>
</Button>

1 Ответ

0 голосов
/ 18 мая 2018

Отличная ссылка @shivani.большинство способов покрыты там.Еще одна вещь, которую вы можете сделать, это установить IsDefault свойство кнопки.

есть встроенная функция, позволяющая установить одну кнопку по умолчанию для выполнения события нажатия этой кнопки при нажатии клавиши ввода.

Итак, вы также можете использовать IsDefault.

<Button x:Name="myButton" 
        Content="Click Me" 
        HorizontalAlignment="right"
        Margin="0,84,72,0" 
        VerticalAlignment="Top" 
        Width="66" Height="25" IsDefault="True"
        Command="{Binding clickCommand}" Foreground="#FFF2F5FC" BorderBrush="{x:Null}">
<Button.Background>
    <SolidColorBrush Color="#FF3DA5DB"/>
</Button.Background>

...