2016-09-29 75 views
0

在Windows 10中,VS2015具有在XAML C#UAP中工作的最新更新。如果我有Button1和Button2,我将一个Tapped事件添加到Button2并将一个Flyout添加到Button1。如果我在Button1中打开弹出窗口并尝试单击Button2,它将首先关闭弹出窗口,但不会引发Button2中的Tapped事件。每当我打开一个弹出窗口并点击屏幕上的任意位置以在背景元素中引发任何事件时,我都会想要。弹出窗口捕捉所有事件,直到它关闭。我怎样才能避免这种行为?UAP Flyout块和处理其他事件

谢谢。

回答

1

你所看到的行为是有目的的。

参考Dialogs and flyouts

不像一个对话框,弹出按钮可以快速通过点击或点击弹出之外的某处,按Esc键或后退按钮,调整应用程序窗口,或改变设备的方向驳回。

弹出窗口是一个轻量级的上下文弹出窗口,当弹出窗口打开时,它将阻止用户交互。当用户点击或在弹出窗口外点击时,它将关闭。 Flyout的设计就是这样,我们无法避免这种行为。

如果这不是你想要的,我建议你尝试一些其他的控制。例如,您可以将弹出窗口的内容放入“Button1”旁边的面板中,并使用“Button1”的事件Tapped/Click控制面板的Visibility以显示或隐藏内容。

+1

我在最后使用了PopUp控件,但谢谢你的回答。 – toroveneno

+0

@FernandoUrkijoCereceda是的,Popup控件是一个很好的选择。 –