简单的WPF MVVM命令问题 - 此代码有什么问题?

时间:2011-02-19 19:58:43

标签: wpf mvvm command icommand

我正在尝试使用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();
    }
}

1 个答案:

答案 0 :(得分:5)

Navigate应该是一个属性。绑定仅适用于属性