Здравствуйте, dmitry_npi, Вы писали:
_>Здравствуйте, Codechanger, Вы писали:
C>>Control authors who want to handle mouse double clicks should use the MouseLeftButtonDown event when ClickCount is equal to two. This will cause the state of Handled to propagate appropriately in the case where another element in the element tree handles the event.
_>Да MSDN-то я читал, и делать так пробовал. _>Так еще хуже — событие MouseLeftButtonDown не обрабатывается вообще. В обработчик не заходит. Вот мой код (тестовый):
Ага, хренотень какая-то. Скорее всего криво сделали TreeViewItem. WPF-ный TreeView вообще, конечно, полон загадок, к сожалению.
Что можно сделать. Если MouseDoubleClick возникает во всем дереве, то это, как минимум, позволяет использовать только один обработчик, приатаченный к рутовому узлу дерева. В этом обработчике можно взять e.OriginalSource и пройтись от него по родителям, используя VisualTreeHelper, а встретив TreeViewItem, принять решение, что двойной клик произвели именно на нем. Да, решение не самое приятное, но что поделать.