我对WPF和MVVM都没有经验,所以我很想缺少一些东西,但是当我单击我的按钮时,该命令没有触发。我的页面上还有一些菜单控件,它们的设置方式完全相同,当我单击这些菜单控件时,它们的命令将按预期运行。
我尝试附加一个click事件处理程序,以确保确实单击了该按钮。我还尝试附加一个对菜单控件有效的命令,该命令对按钮无效。
<Button Grid.Row="1" Content="Add Note"
Command="{Binding InsertNoteCommand}"/>
public ICommand InsertNoteCommand { get; }
public MainViewModel()
{
InsertNoteCommand = new RelayCommand(InsertNote);
}
private void InsertNote()
{
Console.WriteLine("Note Inserted!");
}
我还应该提到我正在使用MVVM Light
答案 0 :(得分:1)
了解调试信息非常有用,但是最后我通过将绑定指向数据上下文来解决了这个问题。
<Button x:Name="AddNewNoteBtn" Grid.Row="1" Content="Add Note"
Command="{Binding Path=DataContext.InsertNoteCommand, ElementName=_window}"/>
如果有人对我如何改进它有意见,我将非常感谢。谢谢!