Rather than attempting to do this in a Win Forms manner, you can achieve this in a WPF-centric way by adding an
IsSelected
property to the class behind the list. Then you bind to this property using the following:
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="IsSelected" Value="{Binding Mode=TwoWay, Path=IsSelected}"/>
</Style>
</ListBox.ItemContainerStyle>
Now your underlying list will have the
IsSelected
boolean set as appropriate, and you can just select the items where that value is set.