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)
Currently I am facing problem in List View that, when we re-size the GridViewColumnHeader to the leftmost(width =0),not able to enlarge that column.It's not accessible later.I want to do this functionality as same as DataGrid. In DataGrid, it wont allow user to resize the column to width zero.
How can we acheive this functionality in ListView?
Just an FYI to the OP (and POH), I implemented MinWidth and MaxWidth on my own custom ListView and while the guys over at SO say "it works", I can tell you from personal experience it is an incomplete solution . There are a lot of little nuances you have to handle that the posted solution does not.
Beyond just dragging the splitter around, there is also the splitter double-click column auto-size behavior that needs to be patched, dragging columns (re-ordering) around screws things up, and the one that took me quite a while to solve: in a specific usage scenario (I forget the exact details since it's been a while), but it was something like where if you had the columns big enough so you had a horizontal scroll bar, and then did the column resize / auto-resize so it shrunk down the columns to where the scroll bar went away, the ListViewItems would not be resized properly and the control rendering would get all messed up.
This feature was actually a real PITA to get working properly in all cases. It ended up being several HUNDRED lines of code.