Как глобально обнаружить щелчок по окну в приложении 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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