Самый простой способ сделать это здесь.
Если вам нужно просто изменить границу выделения, вы пишете это в секции триггеров стиля listboxitem
<Trigger Property="IsSelected" Value="True">
<!--your code...-->
<Setter Property="BorderBrush"
Value="Red"/>
<Setter Property="BorderThickness" Value="1"/>
</Trigger>
И отредактируйте табличку с данными, привязав границу к установщикам бордюров и граничной толщины в стиле
<ListBox.ItemTemplate>
<DataTemplate>
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">...
Я отредактировал свой ответ, потому что в первый раз, когда я прочитал этот вопрос, я подумал, что вам нужны разные кисти для каждого типа данных. Но ваш случай намного проще