Вы можете сделать прикрепленное поведение. Я бы предложил использовать новую среду поведения Blend, то есть TriggerAction, которая содержала эту пользовательскую логику.
Для прикрепленного поведения вы надеваете кнопку, назначаете ей DP для ICommand и, возможно, DP типа ListView.
В «Invoke защищенного переопределения void (параметр объекта)» вашего TriggerAction выполните ICommand, после чего у вас будет ссылка на ваш ListView. Здесь вы можете сделать свой собственный код, например, установить фокус.
Ваш XAML может выглядеть примерно так:
<Button>
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<Behaviors:CustomBehavior Command="CommandName" ListView="{Binding ElementName=myListView}" />
</i:EventTrigger>
</i:Interaction.Triggers>
<Button/>
Я предлагаю посмотреть на поведение ExecuteCommandAction Майка Брауна ( скачать здесь ), это примерно половина того, что вам нужно.