UAP Flyout 块和处理其他事件
UAP Flyout blocks and handles other events
在 Windows 10 中,带有最新更新的 VS2015 在 XAML C# UAP 中工作。如果我有 Button1 和 Button2,我会向 Button2 添加一个 Tapped 事件,并向 Button1 添加一个 Flyout。如果我在 Button1 中打开弹出窗口并尝试单击 Button2,它首先会关闭弹出窗口但不会引发 Button2 中的 Tapped 事件。我希望每当我打开弹出窗口并单击屏幕上的任意位置以引发背景元素中的任何事件。弹出窗口正在捕获所有事件,直到它关闭。我怎样才能避免这种行为?
谢谢。
您看到的行为是设计使然。
Unlike a dialog, a flyout can be quickly dismissed by tapping or clicking somewhere outside the flyout, pressing the Escape key or Back button, resizing the app window, or changing the device's orientation.
弹出窗口是一个轻量级的上下文弹出窗口,当弹出窗口打开时,它将阻止用户交互。当用户点击或单击弹出窗口外的某处时,它将关闭。 Flyout 设计成这样,我们无法避免这种行为。
如果这不是您想要的,我建议您尝试使用其他控件。例如,您可以将弹出窗口的内容放在 "Button1" 旁边的面板中,并使用 "Button1" 的 Tapped
/Click
事件来控制 Visibility显示或隐藏内容的面板。
在 Windows 10 中,带有最新更新的 VS2015 在 XAML C# UAP 中工作。如果我有 Button1 和 Button2,我会向 Button2 添加一个 Tapped 事件,并向 Button1 添加一个 Flyout。如果我在 Button1 中打开弹出窗口并尝试单击 Button2,它首先会关闭弹出窗口但不会引发 Button2 中的 Tapped 事件。我希望每当我打开弹出窗口并单击屏幕上的任意位置以引发背景元素中的任何事件。弹出窗口正在捕获所有事件,直到它关闭。我怎样才能避免这种行为?
谢谢。
您看到的行为是设计使然。
Unlike a dialog, a flyout can be quickly dismissed by tapping or clicking somewhere outside the flyout, pressing the Escape key or Back button, resizing the app window, or changing the device's orientation.
弹出窗口是一个轻量级的上下文弹出窗口,当弹出窗口打开时,它将阻止用户交互。当用户点击或单击弹出窗口外的某处时,它将关闭。 Flyout 设计成这样,我们无法避免这种行为。
如果这不是您想要的,我建议您尝试使用其他控件。例如,您可以将弹出窗口的内容放在 "Button1" 旁边的面板中,并使用 "Button1" 的 Tapped
/Click
事件来控制 Visibility显示或隐藏内容的面板。