Problem explained:
Given a list containing 10 items.
- My first action is to (mouse) click on the second item.
- Secondly I have a button which is supposed to programmatically select an item.
For example:
listView.SelectedIndex = 4;
//or
listView.SelectedItems.Add(listView.Items[4]);
The item is correctly selected.
- If I now press SHIFT and select the LAST item the selection starts at the clicked item and not the programmatically selected item.
One solution was to simulate a mouse click event, which worked but had side effects. Its also way to hacky.
It seems that the mouse event stores the starting item.
Is there something I have overlooked?
I’ve asked on MSDN about this issue. Surprisingly the cause of this problem is SelectionMode
So, in the code behind you have to do next:
Don’t quite understand how be in case of MVVM.
Upd1
I have created custom ListView. It will do inside the mentioned above logic.
In this case it must work as you expect even in MVVM. I hope it will help you.