我正在使用mvvm开发一些wpf应用程序。我正在尝试使用按钮单击事件和命令,但命令永远不会执行。此外,当我只使用没有点击事件的命令时,它完美无缺。这是代码:
<ControlTemplate x:Key="reminderDataTemplate">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="25" />
<RowDefinition Height="150" />
<RowDefinition Height="20" />
</Grid.RowDefinitions>
<Label Grid.Row="0" Content="New reminder:" HorizontalAlignment="Left" />
<TextBox Text="{Binding Path=ReminderText, UpdateSourceTrigger=PropertyChanged}" Grid.Row="1" Height="150" Width="200" HorizontalAlignment="Left"/>
<Button Name="btnSaveReminder" Grid.Row="2" Content="Save" Width="auto" Height="20" HorizontalAlignment="Left" Click="btnSaveReminder_Click" Command="{Binding Path= btnSaveReminder}" />
</Grid>
</ControlTemplate>
为什么会这样?
请注意,我必须一起使用click和command,因为我的视图和viewmodel在不同的项目中。
更新 另外要说的是,当我在控制模板外的按钮中一起使用click和command时,一切都很完美。
答案 0 :(得分:14)
在Click event
上执行命令。
private void btnClick(object sender, RoutedEventArgs e)
{
var btn = sender as Button;
btn.Command.Execute(btn.CommandParameter);
}