1

由于要求 5.2.4.c(后退按钮必须关闭菜单或对话框并取消后退导航),我的应用程序被 Marketplace 拒绝。我正在使用 Silverlight Toolkit 中的 ListPicker,这就是导致失败的原因:在 ListPicker 打开时按下后退按钮会返回,而不是关闭 ListPicker 并取消返回导航。

这似乎很容易解决:如果用户按下后退按钮并且 ListPicker 打开,我将其关闭并取消后退导航。但是,我还没有看到以编程方式检测 ListPicker 是否打开或关闭 ListPicker 的方法。

我错过了什么吗?我怎样才能修复这个错误?

4

2 回答 2

3

再一次,我问得太早了。答案在这里:http ://silverlight.codeplex.com/workitem/7643

于 2010-11-16T06:39:24.827 回答
1

解决方案是

protected override void OnBackKeyPress(CancelEventArgs e)
{
    base.OnBackKeyPress(e);
    if (yourListPicker.ListPickerMode == ListPickerMode.Expanded)
    {
        yourListPicker.ListPickerMode = ListPickerMode.Normal;
        e.Cancel = true;
    }
}
于 2010-12-01T15:03:45.597 回答