在Windows 10中,VS2015具有在XAML C#UAP中工作的最新更新。如果我有Button1和Button2,我会向Button2添加一个Tapped事件,并向Button1添加一个Flyout事件。如果我在Button1中打开弹出按钮并尝试单击Button2,它会先关闭弹出按钮,但不会在Button2中触发Tapped事件。我希望每当我打开弹出窗口并点击屏幕上的任意位置来提升背景元素中的任何事件。弹出窗口捕获所有事件,直到它关闭。我该如何避免这种行为?
感谢。
答案 0 :(得分:1)
你看到的行为是设计的。
与对话框不同,可以通过点击或点击弹出窗口外的某个位置,按Escape键或Back按钮,调整应用程序窗口大小或更改设备的方向来快速解除弹出窗口。
弹出窗口是一个轻量级的上下文弹出窗口,当弹出窗口打开时,它会阻止用户交互。当用户点击或点击弹出窗口外的某个地方时,它会关闭。 Flyout的设计就是这样,我们无法避免这种行为。
如果这不是您想要的,我建议您尝试其他控制。例如,您可以将弹出窗口的内容放在“Button1”旁边的面板中,并使用“Button1”的Tapped
/ Click
事件来控制要显示的面板的Visibility或隐藏内容。