Мой вопрос: «Почему вы хотите это сделать? Возможно, есть другой способ запрограммировать то, чего вы хотите достичь».
Если вы все же хотите придерживаться отключения события щелчка мышью, я 'd назначить пустой обработчик событий списку и его элементам.
XAML:
<ListView MouseDown="emptyEventHandler" MouseDoubleClick="emptyEventHandler" >
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<EventSetter Event="MouseDown" Handler="emptyEventHandler" />
<EventSetter Event="MouseDoubleClick" Handler="emptyEventHandler" />
</Style>
</ListView.ItemContainerStyle>
</ListView>
и код (чтобы фактически перехватить событие и предотвратить его всплытие):
private void emptyEventHandler(object sender, MouseButtonEventArgs e)
{
e.Handled = true;
}
Таким образом, вы все равно можете реагировать на щелчки мыши и события двойного щелчка в обработчиках событий Preview .Если вы хотите полностью «спрятать» эти события, вместо этого обработайте PreviewMouseDown и PreviewMouseDoubleClick .