Определите ControlTemplate
с рамкой, имеющей прозрачный фон + невидимую кнопку внутри.Затем, наведя указатель мыши на границу, вы можете установить видимость кнопки на Visible.
MSDN говорит о некоторых интересных аспектах видимости: элементы, где Visibility не видна, не участвуют во входных событиях (или командах), не влияют ни наИзмерять или упорядочивать проходы макета, они не находятся в последовательности табуляции и не будут сообщаться при проверке попаданий.
Это объясняет поведение, которое вы заметили.
Тогда, если вы напишите ControlTemplate
, кнопка не скрывается снова после нажатия, возможно, потому, что она имеет фокус: это будет иметь некоторый смысл, что сфокусированный элемент не может быть установлен невидимым.Я бы попробовал расфокусировать его в обработчике кликов (фокус на что-то еще).