xaml - 如果用户单击屏幕上的其他位置,如何隐藏堆栈布局
问题描述
我在 App.xaml 文件中为应用程序头创建了 ResourceDictionary。在标题中,我创建了两个下拉菜单(带有堆栈布局和网格)。第一个是一些用户信息,第二个是搜索。默认情况下,这些下拉菜单是隐藏的。如果用户单击用户图标或搜索图标,则最多可以看到一个。所以在 HeaderViewModel 我 cratet 这两种方法:
private async void AccountInformationAsync()
{
var userService = await UserService.GetUserData();
Username = userService.Username;
DisplayName = userService.DisplayName;
Status = userService.Status;
Influence = userService.Influence;
MTP = userService.MTP;
VisibilityInformation = !VisibilityInformation;
if (VisibilityInformation == true)
{
VisibilitySearch = false;
}
}
private void Search()
{
VisibilitySearch = !VisibilitySearch;
if (VisibilitySearch == true)
{
VisibilityInformation = false;
}
}
这工作正常...如果用户单击用户图标用户信息将显示,如果用户然后单击 serach 图标信息将隐藏搜索菜单将显示。
所以,我的问题是如果用户单击屏幕上的其他位置,如何隐藏这些菜单中的任何一个?
解决方案
您需要在页面的主布局视图上添加一个 TapGestureRecognizer。在它的点击上,您可以使用命令和隐藏下拉菜单。
private void HideDropDowns()
{
VisibilitySearch = false;
VisibilityInformation = false;
}
HideDropDowns 应该是 TapGestureRecognizer 中分配给 Command 的 Method。
推荐阅读
- python - .json - Pandas-DataFrame 中的文件:“NoneType”对象没有属性“键”
- javascript - Vuex 状态未使用 v-if 和 v-else 显示空购物车消息
- python - 如何用指定的步骤挑选矩阵的列
- reactjs - 当我更改 Formik React js 中自动清除的另一个表单元素自动完成值时
- java - 如何在 Android Studio 中添加 Empty Activity?
- pandas - pyspark 从熊猫创建数据框,其中包含一列元组列表
- python - 如何在本地 Windows 系统上部署/托管 python flask rest API?
- html - 显示动态 HTML 表单元素,其中包含具有订单配置的数组对象
- azure - 使用应用程序洞察力的自定义应用程序仪表板
- google-data-studio - 使用 PATH_USER_PASS 的身份验证类型时不调用 getData()