WPF TabControl: событие щелчка мыши на (пустой области) панели вкладок - PullRequest
1 голос
/ 27 мая 2011

В Firefox двойной щелчок по пустой области панели вкладок создает новую вкладку.Я хочу реализовать эту функцию в WPF TabControl.

Но как обработать событие щелчка мыши?

Я пытался обработать событие MouseDoubleClick TabControl, но, к сожалению, я получил противоположный результат: нажатие на пустую область панели вкладок не имеет никакого эффекта, оно работает только тогда, когда я нажимаю на другие области.

    <TabControl MouseDoubleClick="TabControl_DoubleClick">
        ...
    </TabControl>

Спасибо.

Ответы [ 2 ]

0 голосов
/ 27 мая 2011

TabControl содержит TabPanel, но даже если вы прикрепите к нему событие Mouse (это не элемент управления, поэтому DoubleClick нет, но вы можете использовать MouseUp и проверить ClickCount, например), это событие не будет запущено в «пустое пространство».

Самый простой способ сделать это - скопировать шаблон по умолчанию ( См. Ссылку MSDN , Default WPF Themes) и добавить в эту область кнопку без вида или что-то подобное.

0 голосов
/ 27 мая 2011

Вам нужно обработать событие для TabItem, а не TabControl. Например, это сработало для меня:

private void tabItem1_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
           . . .
        }
...