Commanddelage parameter : Why am I not receiving the parameter into my delagate command? I've been stock on this issue for a couple of days now, but still cant get my head around it, I'm relatively new to the .NET framework. I am using MVVM and a command delegate to get x and Y coordinates of the click button   shape like a circle. However, my keeps on failing. Please, help me with this if possible. 
this is my view 

                   

    public  class ViewModel :  INotifyPropertyChanged
    {
        #region constructor plus member val
        public event PropertyChangedEventHandler PropertyChanged;
        public ObservableCollection<CartesianPoint> points { get; set; }
        public ObservableCollection<CartesianPoint> missPoints { get; set; }
       
        public DelegateCommand<CartesianPoint> SelectCommand { get; set; }
        public CartesianPoint SelectedPoint { get; set; }

        public ViewModel()
        {
            
            points = new ObservableCollection<CartesianPoint>();
            missPoints = new ObservableCollection<CartesianPoint>();
       
            this.testData();
        }
         

        
        private void InitializeCommands()
        {
            SelectCommand = new DelegateCommand<CartesianPoint>( (p) => SelectedPoint = p );
           
        }
        #endregion constructor plus member val
        
       
        protected void OnPropertyChanged(String propertyName)
        {
            if( PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }

            Console.WriteLine( "from on propertity change");

        }

        public ICommand touchCommand
        {
            get
            {
                if (SelectCommand == null)
                {
                    SelectCommand = new DelegateCommand<CartesianPoint>(( p) => Executed( p));

                }
                return SelectCommand;
            }
        }

        public bool CanExecute()
        {
            return false;
        }

        public void Executed(object sender)
        {

            if (sender != null)
            {
                Console.WriteLine("this is a test");
                CartesianPoint  input = sender as CartesianPoint;
                Console.WriteLine("{0} {1}"input.X, input.Y);

            }
            

        }