Для demostrate проблемы у меня есть этот Xaml:WPF ListView и ScrollViewer скрыть MouseLeftButtonDown
<DockPanel MouseLeftButtonDown="DockPanel_MouseLeftButtonDown" MouseLeftButtonUp="DockPanel_MouseLeftButtonUp">
<ListView>
<ListViewItem>ListViewItem</ListViewItem>
</ListView>
<TextBlock>TextBlock</TextBlock>
</DockPanel>
и обработчики событий являются:
private void DockPanel_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
Console.WriteLine("DockPanel_MouseLeftButtonDown");
}
private void DockPanel_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
Console.WriteLine("DockPanel_MouseLeftButtonUp");
}
При запуске приложения и нажмите на слова TextBlock вас запустите MouseDown, а затем MouseUp. Все идет нормально. Но когда вы нажимаете на слова ListViewItem, запускается только MouseUp. Такая же проблема для ScrollViewer (представление List включает в себя, поэтому я предполагаю, что это та же проблема). Кто-нибудь знает, почему и если это можно исправить. По фиксированному я имею в виду, чтобы он стрелял, чтобы не пытаться использовать другое событие или другой механизм вместе.
Да, это вернет событие мыши, но также отключит использование клавиатуры на этом ScrollViewer. Например, клавиши со стрелками. –
Это правда, но это цена в этом случае. – Victor