Я использую подход, отличный от тех, которые уже были предложены.
У меня есть только несколько элементов управления ListView (два или три), поэтому я могу сделать следующее.
ListViewItem listViewItem = e.OriginalSource as ListViewItem;
if (listViewItem == null)
{
...
}
else
{
if (firstListView.ItemContainerGenerator.IndexFromContainer(listViewItem) >= 0)
{
...
}
else if (secondListView.ItemContainerGenerator.IndexFromContainer(listViewItem) >= 0)
{
...
}
}
Это может быть использован с петлей Еогеаспа но если существует сотни ListView управления для перебора, то глядя вверх по родительской ListView из ListViewItem, вероятно, более эффективный (как и большинство других ответов предположить). Однако я считаю, что мое решение чище (немного). Надеюсь, это поможет кому-то!
Там нет таких проблем с MVVM. – vorrtex
Как будто это имело какое-либо отношение к этому ... –