Where do you set the value of the MyViewModelList?
The bindings that you showed were reading from the MyViewModelList.
The XAML binding will not create the list for you.
Also to note: adding to, or removing from the MyViewModelList will not cause the RaisePropertyChanged to be raised. As you have this coded, that is raised only when the MyViewModelList property is assigned to (replaced).
You don't. That's not what you use a ViewModel for. What you would normally do is create a command in your ViewModel and then hook it up to an event in your XAML using something like Laurent Bugnion's EventToCommand[^].
If you don't want to complicate things you can always just respond to the MouseDown event in your view's code behind. Here you have access to your ViewModel (via the DataContext) so can 'tell' your ViewModel to perform some action (whether via a command or a property or method - whatever works for you)