System.NotImplementedException错误WPF

问题描述:

IM与问题,即时通讯完成本教程,其中IM学习WPF此链接:https://www.tutorialspoint.com/mvvm/mvvm_view_viewmodel_communication.htm,但是当IM执行,他返回错误:问题出在哪里System.NotImplementedException错误WPF

"Error 1 'MVVMDemo.MyICommand' does not implement interface member 'System.Windows.Input.ICommand.CanExecuteChanged' C:\Users\Adriano\documents\visual studio 2013\Projects\MVVMDemo\MVVMDemo\MyICommand.cs 10 11 MVVMDemo"

我不明白...

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Input; 

namespace MVVMDemo 
{ 
    class MyICommand : ICommand 
    { 
     Action _TargetExecuteMethod; 
     Func<bool> _TargetCanExecuteMethod; 

     public MyICommand(Action executeMethod) { 
     _TargetExecuteMethod = executeMethod; 
     } 

     public MyICommand(Action executeMethod, Func<bool> canExecuteMethod){ 
     _TargetExecuteMethod = executeMethod; 
     _TargetCanExecuteMethod = canExecuteMethod; 
     } 

     public void RaiseCanExecuteChanged() { 
     CanExecuteChanged(this, EventArgs.Empty); 
     } 

     bool ICommand.CanExecute(object parameter) { 

     if (_TargetCanExecuteMethod != null) { 
      return _TargetCanExecuteMethod(); 
     } 

     if (_TargetExecuteMethod != null) { 
      return true; 
     } 

     return false; 
     } 

     // Beware - should use weak references if command instance lifetime 
     //is longer than lifetime of UI objects that get hooked up to command 

     // Prism commands solve this in their implementation public event 
     EventHandler CanExecuteChanged = delegate { }; 

     void ICommand.Execute(object parameter) { 
     if (_TargetExecuteMethod != null) { 
      _TargetExecuteMethod(); 
     } 
     } 
    } 
} 

它停在

public MainWindow() 
     { 
      InitializeComponent(); 
     } 

error 'An exception of type 'System.NotImplementedException' occurred in MVVMDemo.exe but was not handled in user code'

显式添加公共到事件处理程序

public event EventHandler CanExecuteChanged = delegate { }; 

完整的解决方案张贴在Github上回购https://github.com/vjoks/WPF-MVVM/tree/master/MVVMHierarchiesDemo-pre-Validation