Привет, ребята (и девушки, если есть :)
Мне нужна была другая политика выбора списка, чем та, которая предоставляется по умолчанию для списков WPF, т. е. иметь возможность иметь расширенный выбор без какого-либо ключа-модификатора.
С этим проблем нет, вот что я сделал:
class EnhancedCcyPairListBox : ListBox
{
protected override DependencyObject GetContainerForItemOverride()
{
return new CcyPairListBoxItem();
}
}
internal class CcyPairListBoxItem : ListBoxItem
{
protected override void OnPreviewMouseLeftButtonDown(MouseButtonEventArgs e)
{
IsSelected = !IsSelected;
e.Handled = true;
}
}
Я не могу сказать, лучший ли это способ, но, похоже, он работает именно так, как я ожидал.
За исключением того, что... сделав это, я потерял стиль ListBoxItem по умолчанию, который у меня был раньше. Как я могу сообщить своим производным классам, чтобы они сохраняли стиль по умолчанию?
Большое спасибо !