Wpf ListBox - изменить стиль выбранного элемента по умолчанию * внутри * ContentPresenter
У меня есть ListBox, в котором каждый элемент является StackPanel. StackPanel состоит из изображения и текстового блока под ним:
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="10">
<Image>
<Image.Source>
<BitmapImage UriSource="{Binding Path=ImageFilePath}"/>
</Image.Source>
</Image>
<TextBlock Text="Title" TextAlignment="Center"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
Это выглядит так:
Когда пользователь выбирает элемент, я получаю синий прямоугольник по умолчанию, который окружает StackPanel:
Теперь я хочу сделать другую рамку для выбранного элемента, но я хочу, чтобыокружать только изображение.
Я знаю, как создать шаблон элемента управления и поместить пользовательскую рамку вокруг ContentPresenter, но это, конечно, будет охватывать всю StackPane, а не только изображение.
Я не знаю, возможно ли внести изменения в ContentPresenter, и является ли это вообще хорошей идеей. Если есть другой способ добиться желаемого образа, это тоже будет хорошо.