如何为MVVMLight

时间:2018-05-18 01:32:52

标签: wpf mvvm data-binding mvvm-light

如何在以下代码中将enter key分配给on_Click事件?

为了清楚起见,我想在按下回车键时触发on_Click()方法内的代码。

同样,我正在使用MVVMLight框架。

视图模型

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 :(得分:1)

@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>