Я настраиваю шаблонный ListBox с поддержкой множественного выбора и не могу легко реализовать следующую функцию - если выбран только один элемент, который также является текущим (сфокусированным), когда пользователь перемещается вверх или вниз по списку, выбор долженследовать текущему пункту.Я пытался подписаться на событие GotFocus StackPanel объекта DataTemplate, но, по-видимому, я не получаю эти события (даже при том, что MouseEnter / MouseLeave работают).
Я думаю, что я мог бы сделать это, изменив несколько аналогичноповедение , но разве нет более легкого пути?Это похоже на довольно простое поведение для меня ...
<ListBox>
<ListBox Name="lbItems" SelectionMode="Multiple">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal"
MouseEnter="UIElement_OnMouseEnter"
MouseLeave="UIElement_OnMouseLeave"
GotFocus="UIElement_OnGotFocus">
<Rectangle Width="15" Height="15" Fill="{Binding Path=Brush}" />
<TextBlock Text="{Binding Path=Category}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>