У меня есть приложение MAUI для Windows, и у меня есть своего рода настраиваемый элемент управления кнопкой развертывания: при нажатии этой кнопки список предметов показан ниже. Теперь я хочу, чтобы у пользователя было два варианта: выбрать один из элементов в списке или щелкнуть в любом месте за пределами списка, и оба этих события сделают кнопку развертывания «неизрасходованной», установив для свойства IsExpanded значение false. Довольно просто.
Теперь я рассмотрел разные варианты, и наиболее логичным кажется добавить TapGestureRecouncerer к корневому представлению (сетке) страницы, который устанавливает для IsExpanded значение false при нажатии.
------> Проблема: на странице есть другие элементы, например кнопки, и я не хочу, чтобы пользователь не могу щелкнуть их, но я также хочу, чтобы при нажатии на них расширенное представление становилось неразвернутым, если оно было развернуто.
Очевидное решение — добавить следующий код к каждому событию щелчка всех элементы на странице, но мне, очевидно, хотелось бы этого избежать:
Код: Выделить всё
if (ExpandButton.IsExpanded)
{
ExpandButton.IsExpanded = false;
}
Подробнее здесь: https://stackoverflow.com/questions/788 ... a-maui-app
Мобильная версия