C# 忽略点击直到页面完全加载

C# 忽略点击直到页面完全加载,c#,uwp,windows-phone,windows-10-mobile,C#,Uwp,Windows Phone,Windows 10 Mobile,我在第1页有一个打开第2页的按钮。打开第2页需要大约1秒的时间,其中包含一个选项列表(用户控件),点击该列表时,会保存所选内容并将用户返回到第1页 当用户点击第1页上的按钮时,如果他们变得不耐烦,他们将在加载/显示第2页之前再次点击该按钮。问题是,轻触被识别,第2页上的第一个选项被轻触,即使它还不可见。然后保存选择并将用户返回到第1页 在页面2完全加载之前,我是否可以停止识别点击/点击事件?一个想法可能是在第一页的OnNaviagatedTo中订阅点击/点击事件,然后在点击/点击事件中取消订阅,

我在第1页有一个打开第2页的按钮。打开第2页需要大约1秒的时间,其中包含一个选项列表(用户控件),点击该列表时,会保存所选内容并将用户返回到第1页

当用户点击第1页上的按钮时,如果他们变得不耐烦,他们将在加载/显示第2页之前再次点击该按钮。问题是,轻触被识别,第2页上的第一个选项被轻触,即使它还不可见。然后保存选择并将用户返回到第1页


在页面2完全加载之前,我是否可以停止识别点击/点击事件?

一个想法可能是在第一页的OnNaviagatedTo中订阅点击/点击事件,然后在点击/点击事件中取消订阅,这样用户就不能再点击它了。然后当他返回时,OnNavigated再次订阅。您还可以考虑在点击/单击时设置标志,并在第二页加载事件中取消该标志。样本:

公共密封部分类主页面:第页
{
公共主页()
{
this.InitializeComponent();
}
受保护的覆盖无效OnNavigatedTo(NavigationEventArgs e)
{
Debug.WriteLine(“OnNavigatedTo”);
基地。导航到(e);
this.button.Click+=按钮单击;
}
专用异步无效按钮\u单击(对象发送方,路由目标)
{
(发件人为按钮)。单击-=按钮\u单击;
等待任务。延迟(1000);//模拟第二页的重载
此.Frame.Navigate(typeof(SecondPage));
}
}

一种方法是在第一页的OnNaviagatedTo中订阅点击/点击事件,然后在点击/点击事件中取消订阅,这样用户就不能再次点击它了。然后当他返回时,OnNavigated再次订阅。您还可以考虑在点击/单击时设置标志,并在第二页加载事件中取消该标志。样本:

公共密封部分类主页面:第页
{
公共主页()
{
this.InitializeComponent();
}
受保护的覆盖无效OnNavigatedTo(NavigationEventArgs e)
{
Debug.WriteLine(“OnNavigatedTo”);
基地。导航到(e);
this.button.Click+=按钮单击;
}
专用异步无效按钮\u单击(对象发送方,路由目标)
{
(发件人为按钮)。单击-=按钮\u单击;
等待任务。延迟(1000);//模拟第二页的重载
此.Frame.Navigate(typeof(SecondPage));
}
}

事实上-我认为这不会起作用,因为这不是第1页按钮的第二次点击导致问题-这是用户认为是第1页按钮的第二次点击,但实际上是第2页控件的第二次点击-但是你对第2页标志的想法应该可以做到这一点。@Rick加载页面需要多长时间?也许你可以在繁重的工作之后或者在加载的事件中订阅第二页中的事件?我想这是因为我使用的是用户控件-我开始在模拟器上使用它们,没有问题,但现在我们在设备上,它似乎真的很慢。谷歌建议用户控件不是我应该使用的。现在改有点晚了,但你觉得呢?我可能会被迫更改。您是否尝试过加载事件?你能分享一个关于这个问题的例子吗?在第二页的加载事件中,我只是尝试通过所有用户控件“激活”点击事件来循环(通过将一个标志设置为true并在用户控件点击事件中检查),但似乎没有任何效果。分享tbh是很困难的。事实上-我不认为这会起作用,因为这不是第1页按钮的第二次点击造成的问题-这是用户认为是第1页按钮的第二次点击,但实际上是第2页控件的点击-但是你对第2页上的标志的想法应该做到这一点。@Rick页面需要多长时间才能完成负载也许你可以在繁重的工作之后或者在加载的事件中订阅第二页中的事件?我想这是因为我使用的是用户控件-我开始在模拟器上使用它们,没有问题,但现在我们在设备上,它似乎真的很慢。谷歌建议用户控件不是我应该使用的。现在改有点晚了,但你觉得呢?我可能会被迫更改。您是否尝试过加载事件?你能分享一个关于这个问题的例子吗?在第二页的加载事件中,我只是尝试通过所有用户控件“激活”点击事件来循环(通过将一个标志设置为true并在用户控件点击事件中检查),但似乎没有任何效果。很难分享tbh。