Как глобально обнаружить щелчок по окну в приложении MAUI?C#

Место общения программистов C#
Anonymous
Как глобально обнаружить щелчок по окну в приложении MAUI?

Сообщение Anonymous »

Во-первых, извините, название вводит в заблуждение, но мне не удалось правильно изложить это в нескольких словах. Это простой вариант использования, но, похоже, его не так просто реализовать:
У меня есть приложение MAUI для Windows, и у меня есть своего рода настраиваемый элемент управления кнопкой развертывания: при нажатии этой кнопки список предметов показан ниже. Теперь я хочу, чтобы у пользователя было два варианта: выбрать один из элементов в списке или щелкнуть в любом месте за пределами списка, и оба этих события сделают кнопку развертывания «неизрасходованной», установив для свойства IsExpanded значение false. Довольно просто.
Теперь я рассмотрел разные варианты, и наиболее логичным кажется добавить TapGestureRecouncerer к корневому представлению (сетке) страницы, который устанавливает для IsExpanded значение false при нажатии.
------> Проблема: на странице есть другие элементы, например кнопки, и я не хочу, чтобы пользователь не могу щелкнуть их, но я также хочу, чтобы при нажатии на них расширенное представление становилось неразвернутым, если оно было развернуто.
Очевидное решение — добавить следующий код к каждому событию щелчка всех элементы на странице, но мне, очевидно, хотелось бы этого избежать:

Код: Выделить всё

if (ExpandButton.IsExpanded)
{
ExpandButton.IsExpanded = false;
}
Есть ли другое решение, кроме этого? Большое спасибо за любое предложение

Подробнее здесь: https://stackoverflow.com/questions/788 ... a-maui-app

Вернуться в «C#»