由于5.2.4.c的要求,我的应用程序被市场拒绝(后退按钮必须关闭菜单或对话框并取消后退导航)。我正在使用Silverlight Toolkit中的ListPicker,这就是造成失败的原因:当ListPicker打开时按下后退按钮,而不是关闭ListPicker并取消后退导航。
这似乎很容易修复:如果用户按下后退按钮并且ListPicker打开,我关闭它并取消后退导航。但是,我还没有看到一种以编程方式检测ListPicker是打开还是关闭ListPicker的方法。
我错过了什么吗?我怎么能解决这个错误?
答案 0 :(得分:3)
再一次,我过早地提出了这个问题。答案在这里:http://silverlight.codeplex.com/workitem/7643
答案 1 :(得分:1)
解决方案是
protected override void OnBackKeyPress(CancelEventArgs e)
{
base.OnBackKeyPress(e);
if (yourListPicker.ListPickerMode == ListPickerMode.Expanded)
{
yourListPicker.ListPickerMode = ListPickerMode.Normal;
e.Cancel = true;
}
}