C# 视图中的WPF按钮命令未激发到viewmodel中的ICommand

C# 视图中的WPF按钮命令未激发到viewmodel中的ICommand,c#,wpf,mvvm,C#,Wpf,Mvvm,我正在使用MVVM开发我的第一个应用程序,我被命令按钮卡住了 我认为: <Button x:Name="btSave" Command="{Binding AddContactCommand}" Content="Save" HorizontalAlignment="Left" Margin="183,186,0,0" VerticalAlignment="Top" Width="75"/> 在视图模型中,我有: public ICommand AddContactCommand

我正在使用MVVM开发我的第一个应用程序,我被命令按钮卡住了

我认为:

<Button x:Name="btSave" Command="{Binding AddContactCommand}" Content="Save" HorizontalAlignment="Left" Margin="183,186,0,0" VerticalAlignment="Top" Width="75"/>
在视图模型中,我有:

public ICommand AddContactCommand { get; private set; }

void AddContact()
{
    ContactData ContactData = new ContactData();
    bSaved = ContactData.SaveContact("Theresa","Theresa","Theresa","Theresa");      
}
视图模型中的
AddContact()


我做错了什么?

检查您的数据上下文,因为我认为这就是问题所在

如果ViewModel位于构造函数中的代码中,请输入以下内容:

DataContext = this;
否则,如果是另一个类,则需要执行相同的操作,但要执行以下操作:

DataContext = new MyViewModel();

至少从您发布的内容来看,我认为这是您的问题。

方法与
AddContactCommand
有什么关系?在哪里实例化属性(
AddContactCommand=newsomething()
)?有关
ICommand
的示例,请参见。仅因为您命名了方法
AddContact
和命令
AddContactCommand
,并不意味着它们在任何方面都相关,至少就您的程序而言。您的代码中缺少类似的内容:
AddContactCommand=new classthattimplementsicommand(AddContact)
如果您没有ICommand实现,google for
RelayCommand
,这是一个简单的实现,涵盖了基础知识。感谢您为我指明了正确的方向。我现在已使用所需的RelayCommand解决了此问题。
DataContext = new MyViewModel();