- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个按钮显示 Flyouts单击时。我以与 XAML UI Basics sample 中演示的方式相同的方式显示它们:
private void ButtonTapped(object sender, TappedRoutedEventArgs e)
{
FrameworkElement element = sender as FrameworkElement;
if (element != null)
{
FlyoutBase.ShowAttachedFlyout(element);
}
}
我的问题是,如果按钮 1 的弹出窗口打开,下一次点击屏幕会关闭该弹出窗口。这很好,但如果下一次点击恰好在按钮 2 上,我希望触发按钮的点击事件并打开其弹出窗口。相反,该按钮根本不注册点击并关闭按钮 1 的弹出窗口。
这导致需要点击两次 - 一次关闭按钮 1 的弹出窗口,第二次显示按钮 2 的弹出窗口。
换句话说:
当前流量:
我在找什么:
我该怎么做?我已经尝试拦截页面的 Tapped 事件,但是当弹出窗口打开时,它似乎拦截了 Tapped 事件,因此它可以用于 Flyout 的轻度关闭
覆盖 Flyout 的样式或 FlyoutPresenterStyle 会帮助我吗?或者以更类似于 MVVM 的方式打开 Flyout,这样我可以更好地控制 Flyout 的打开/关闭方式?
我不确定如何解决这个问题!
最佳答案
这是我在 Microsoft 文档中找到的内容:
当通过点击关闭时,这个手势通常会被吸收,不会传递到下面的 UI。例如,如果在打开的弹出窗口后面有一个可见的按钮,则用户的第一次点击会关闭弹出窗口但不会激活此按钮。按下按钮需要第二次点击。
您可以通过将按钮指定为浮出控件的输入传递元素来更改此行为。浮出控件将因上述灯光关闭操作而关闭,并且还将点击事件传递给其指定的 OverlayInputPassThroughElement。考虑采用此行为来加快用户在功能相似的项目上的交互。如果您的应用程序有一个收藏夹集合并且集合中的每个项目都包含一个附加的弹出窗口,则可以合理地预期用户可能希望快速连续地与多个弹出窗口进行交互。
[!NOTE] 注意不要指定会导致破坏性操作的覆盖输入直通元素。用户已经习惯于不激活主 UI 的谨慎的轻度关闭操作。关闭、删除或类似的破坏性按钮不应在轻度关闭时激活,以避免意外和破坏性行为。在以下示例中,FavoritesBar 中的所有三个按钮都将在第一次点击时激活。
<Page>
<Page.Resources>
<Flyout x:Name="TravelFlyout" x:Key="TravelFlyout"
OverlayInputPassThroughElement="{x:Bind FavoritesBar}">
<StackPanel>
<HyperlinkButton Content="Washington Trails Association"/>
<HyperlinkButton Content="Washington Cascades - Go Northwest! A Travel Guide"/>
</StackPanel>
</Flyout>
</Page.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<StackPanel x:Name="FavoritesBar" Orientation="Horizontal">
<HyperlinkButton x:Name="PageLinkBtn">Bing</HyperlinkButton>
<Button x:Name="Folder1" Content="Travel" Flyout="{StaticResource TravelFlyout}"/>
<Button x:Name="Folder2" Content="Entertainment" Click="Folder2_Click"/>
</StackPanel>
<ScrollViewer Grid.Row="1">
<WebView x:Name="WebContent"/>
</ScrollViewer>
</Grid>
private void Folder2_Click(object sender, RoutedEventArgs e){
Flyout flyout = new Flyout();
flyout.OverlayInputPassThroughElement = FavoritesBar;
flyout.ShowAt(sender as FrameworkElement);}
关于c# - Flyout 的 "Light Dismissal"导致需要点击 2 次才能打开下一个 Flyout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35187139/
apple documentation在 UIViewController dismiss(animated:completion:) 上说 The presenting view controlle
我创建了一个 UIImageView。当点击它时,一个 UIActionSheet 会弹出。 @IBOutlet weak var avatarImageView: UIImageView! @IBA
我有一个可搜索的 TableView Controller (使用 UISearchController 和一个 NSFetchedResultsController),它列出了项目行。 它让用户点击
在我的应用程序中我正在做的是: rootViewController -> pushViewController -> pushViewController -> pushViewController
我对 UIAlertView 进行了一些自定义。我的实现继承自 UIAlertView 并向其添加了一个文本字段。如果点击文本框,iPad 的键盘就会出现。但是,我想另外实现: 如果用户在警报 Vie
我正在构建一个带有可关闭小部件、firebase 和 StreamBuilder 的 flutter 应用程序,并收到以下错误“已关闭的可关闭小部件仍然是树的一部分。” 请找到以下相同的代码。 Exp
我在 iOS 7 中遇到的问题在 iOS 6 中没有出现。 我有一个导航 Controller 显示另一个导航 Controller 来添加员工。第二个 Controller 以模态方式呈现。当我使用
我使用“Ionic Loading Controller”来显示微调器,直到检索到数据,然后调用“dismiss()”将其关闭。它工作正常,但有时当应用程序已经有数据时,“dismiss()”在“cr
这就是崩溃的样子 所以它随机崩溃在UIKit行上 UIKitCore -[UIViewController _ancestorViewControllerOfClass:allowModalParen
我是 android 新手,正在从 developer.android.com 网站学习。然后我遇到了 AlertDialog.dismiss(),网站上写着 This method Dismiss
当您在对话框上调用 dismiss() 时,除了隐藏它之外,它还会将它从内存中删除吗?它是否从内存中删除所有放置在对话框内的对象,如 ImageViews、Buttons 等? 有没有一种方法可以让我
我有一个 float 窗口,现在我想触摸并移动它来关闭,每当我触摸 float 窗口时,就会显示圆形,然后将 float 窗口移向圆形以关闭它自己。 请看下图: 怎么做?请给个建议。 最佳答案 如果我
我目前正在开发一个需要圆角的小部件,但是每当我从左向右拖动我的 Dismissible 小部件时,Dismissible 小部件都有一个不可编辑的剪辑器。 一些截图的更多解释: 我现在拥有的: 我想要
我需要构建一个 TextFields 列表,其中每个字段都与焦点 ID 相关联,以便我可以在接收到焦点时自动滚动到这样的文本字段。实际上,真正的应用程序要复杂一些,其中还包括 TextEditors
我正在尝试创建一个列表,在拖动时可以删除其图块,因此我使用了Dismissible小部件,一切都按我的意愿工作,但是,当拖动图块将其关闭时,图块会显示一段时间并消失,我的意思的演示在video中显示
上下文: 我在测试 ListView 时偶然发现了一次轻微的崩溃。的 Dismissible在 flutter 中。滑动可关闭时,Dialog使用 confirmDismiss 显示选项,用于确认。这
我正在使用“onCreateDialog”方法从 Activity 中打开一个警告对话框: protected Dialog onCreateDialog(int id) { Dial
我正在开发一个完全基于 servlet 的请求和响应的 android 应用程序。我在自定义警报对话框中填充了一些数据,其中我使用了两个东西,一个是十字按钮,它将从警报对话框中的列表中删除项目,更新警
在我的程序中,我正在为一个空编辑文本显示 Toast,该编辑文本在我的对话框中以及上传按钮,现在谈谈我的程序和问题 喜欢: PersonName字段不能留空 如果 PersonName 字段 为空,则
我有这个代码 -(void)didPressButton:(int)tag { // Preventivi? if (tag == 0) {
我是一名优秀的程序员,十分优秀!