Я прочитал ваш вопрос несколько раз. Мне кажется, что вы смешиваете MVVM и нормальное внутреннее кодирование, и это делает ваш код трудным для чтения и понимания.
Существует, я полагаю, 2 способа получить доступ к объекту. Если я правильно понял, что вы спросили. Вы можете разыграть:
MyObject currentItem = lvMyListView.SelectedItem as MyObject;
или использовать lvMyListView.SelectedIndex
против своего исходного списка.
Также обратите внимание, что первый параметр может быть null
, если не выбран, а второй - * 1010. * поэтому добавьте проверки соответственно.
Но, лучший подход - использовать MVVM и привязку данных в целом. Это длиннее, чем я могу написать здесь, но вы создаете объект модели представления и привязываете свойство выбранного элемента списка к одному из его свойств, и ваша кнопка будет вызывать действие в классе модели представления. Это лучший подход к кодированию WPF. Поэтому, пожалуйста, проверьте это.