我有一个带有画布的 Windows 应用商店应用程序,用户可以使用InkManager在该画布上绘制。在底部的应用程序栏中,有一些用于选择颜色、笔触粗细等的按钮。这些按钮是通过显示一个包含例如颜色选择器的弹出元素来实现的:
<Page.BottomAppBar>
<CommandBar IsSticky="True">
<AppBarButton ...>
<AppBarButton.Flyout>
<Flyout>
<ColorPicker .../>
</Flyout>
</AppBarButton.Flyout>
</AppBarButton>
</CommandBar>
</Page>
问题是大多数用户(包括我自己)总是被一个小问题绊倒:如果你点击按钮,弹出窗口就会打开,你可以选择一种颜色。然后你想开始绘图并在画布上移动你的手指(或手写笔),期望用新颜色创建一个笔触。但是,触摸事件只会关闭浮出控件。似乎弹出元素以某种方式捕获了指针事件(尽管它不是 UIElement)。
有什么办法可以防止这个问题吗?理想情况下,当您触摸画布时,浮出控件会关闭,但画布会处理相同的触摸事件,因此您可以立即开始绘制。