在我的 Windows Phone 应用程序中,当我按下导航到 Page1 的按钮并在完成加载之前按下按钮导航到 Page2 时,我的应用程序崩溃了。这是正确的吗?实现这种行为的最佳实践是什么?
更新 一般来说,我认为对我来说最好的方法是在按下其中一个按钮后阻止屏幕上的所有按钮,并在导航完成后使它们处于事件状态,那么我该怎么做呢?
最佳答案
这种情况下的最佳做法是在第一次单击后禁用 Click 事件。 如果您的按钮名为 b 并且您在 xaml 或代码隐藏中分配了事件处理程序 就像
b.Click += new RoutedEventHandler(ButtonOnClick);
void ButtonOnClick(object sender, RoutedEventArgs e)
{
b.Click -= new RoutedEventHandler(ButtonOnClick);
// Navigate away now.
}
实际上,我的示例将仅停止双击当前按钮,但您也可以禁用其他按钮。
在我的一个应用程序中,我维护一个列表,我会迭代并显示/隐藏、启用/禁用所需的列表。您所做的就是迭代并设置正确的属性。
foreach(var button in myButtons)
button.IsEnabled = false;
关于c# - 双重导航时 Windows Phone 应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11292219/