0
我正在开发我的第一个应用程序使用MVVM,我坚持我的命令按钮。WPF按钮命令在视图中不触发ICommand在viewmodel
在我看来,我有:
<Button x:Name="btSave" Command="{Binding AddContactCommand}" Content="Save" HorizontalAlignment="Left" Margin="183,186,0,0" VerticalAlignment="Top" Width="75"/>
在后面的代码我有:
public partial class ContactView : Window
{
private ContactViewModel contactVM;
public ContactView()
{
InitializeComponent();
contactVM = new ContactViewModel();
this.DataContext = contactVM;
}
}
在视图模型我有:
public ICommand AddContactCommand { get; private set; }
void AddContact()
{
ContactData ContactData = new ContactData();
bSaved = ContactData.SaveContact("Theresa","Theresa","Theresa","Theresa");
}
的AddContact()
视图模特从未被解雇。
我做错了什么?
AddContact()方法与AddContactCommand有什么关系?你在哪里实例化属性('AddContactCommand = new Something()')?有关'ICommand'的示例,请参见[本答案](http://stackoverflow.com/a/1468830/1997232)。 – Sinatr
仅仅因为你*名字*方法'AddContact'和命令'AddContactCommand'并不意味着它们以任何方式相关,就你的程序而言至少是。在代码中你缺少这样的东西:'AddContactCommand = new ClassThatImplementsICommand(AddContact)'如果你没有一个ICommand实现,谷歌的'RelayCommand',这是一个简单的实现,涵盖了基础知识。 –
谢谢你指点我正确的方向。我现在使用RelayCommand解决了它的问题。 –