我有PhoneApplicationPage
一些网格,图片和几个按钮。如果我在我的按钮外面,在页面的任何地方(图像,网格或其他)点击,我想打开一个新页面。
如何检测页面上任何位置的点击/点击?
答案 0 :(得分:1)
我至少看到两种方法:
MouseLeftButtonUp
上的PhoneApplicationPage
事件。它应该由图像和标签触发,而不是由按钮收听Tap
上的PhoneApplicationPage
个活动。但是,即使用户点击按钮,也会触发此事件。为了防止这种情况,您可以在事件处理程序的tap坐标处检索控件列表,并且只有在没有按钮时才打开新页面:
private void PhoneApplicationPage_Tap(object sender, System.Windows.Input.GestureEventArgs e)
{
var element = (UIElement)sender;
var controls = VisualTreeHelper.FindElementsInHostCoordinates(e.GetPosition(element), element);
if(controls.OfType<Button>().Any())
{
return;
}
// Open the new page
}