我正在尝试使用MVVM在我的UI中的按钮上设置命令。但是,当我单击按钮时,该命令不会执行。该代码基于Jason Dolinger's example(第3段中的链接)。
看起来它应该很简单,所以我确信一旦发现错误,我会感到愚蠢。
相关代码位如下。命令如下(非常简单):
public class NavigateCommand : ICommand
{
public bool CanExecute(object parameter)
{
return true;
}
public event EventHandler CanExecuteChanged
{
add { CommandManager.RequerySuggested += value; }
remove { CommandManager.RequerySuggested -= value; }
}
public void Execute(object parameter)
{
MessageBox.Show("Executed.");
}
}
XAML看起来像:
<Button x:Name="btn_ProjectManager" Command="{Binding Navigate}" Content="Test Button">
ViewModel看起来像:
public class HomeScreenViewModel : DependencyObject
{
public ICommand Navigate;
public HomeScreenViewModel()
{
this.Navigate = new NavigateCommand();
}
}
答案 0 :(得分:5)
Navigate
应该是一个属性。绑定仅适用于属性