Почему в пограничном контроле WPF нет события mousedoubleclick? У меня есть ItemsControl с некоторыми элементами макета для DataTemplate. Я хочу обработать событие двойного щелчка, чтобы открыть всплывающее диалоговое окно с подробностями, но граница, мой контейнер макета, не отображает событие.
Любые предложения о том, как получить событие двойного щелчка или переработать xaml, чтобы сделать это возможным?
MouseDoubleClick объявлен в Control, поэтому вам просто нужен экземпляр элемента Control в вашем ItemTemplate. Проще всего использовать базовый класс Control, который не имеет другого поведения, и просто предоставить ему настраиваемый шаблон с тем, что сейчас находится в вашем ItemTemplate.
<ItemsControl>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Control MouseDoubleClick="Control_MouseDoubleClick">
<Control.Template>
<ControlTemplate>
<Border>
<!--Other ItemTemplate stuff-->
</Border>
</ControlTemplate>
</Control.Template>
</Control>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Обновление: извините, мой плохой - поздний час
Внутри события нажатия кнопки мыши получите ClickCount
// e.Handled = true; optional
if (e.ClickCount > 1)
{
// here comes double click and more :)
}