Имеется Canvas и на нём Label. На канвасе и лейбле имеются события нажатия ЛКМ. при нажатии на лейбл генерится также события и на канвасе, чего мне не нужно (мне нужно, чтобы событие на канвасе происходило только при нажатии на пустом месте). Есть ли какой-то стандартный способ сделать лейбл непрозрачным для нажатия кнопки мыши, чтоб не городить кучу кода?
Попробуйте в обработчике события для Label
написать
// это обработчик нажатия на Label
void OnLabelLeftMouseDown(object sender, MouseButtonEventArgs e)
{
// обработка
e.Handled = true; // запретить дальнейшую обработку
}
Пояснение: данное событие, хотя и не обладает всплывающей стратегией туннелирования, вызывается для контролов вверх по визуальному дереву. Устанавливая флаг, что событие обработано, мы предотвращаем его «всплытие». Точнее, событие будет всё ещё доставляться подписчикам, которые подписались через AddHandler
, указав handledEventsToo: true
, но только им.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как лучше всего генерировать случайное 128-битное число в С#? Я пока придумал такой способ: с помощью RNGCryptoServiceProvider сгенерировать массив байтов...