【发布时间】:2013-01-30 22:34:53
【问题描述】:
我在认证报告中回复:
该应用似乎不完全支持触摸输入。各种种类 主屏幕上的磁贴响应触摸/点击,但不启动 行动。此应用程序中的触控支持似乎不适用于我们的 审稿人。请参见: http://msdn.microsoft.com/en-us/library/windows/apps/Hh761498.aspx 为 键盘、鼠标和触摸的一些常见交互。
在多台台式计算机和 Surface RT 上进行开发和测试时,这从来都不是问题。关于可能是什么原因或我如何重现它的任何想法?提到的操作与代码后面的事件处理程序相关联,并使用带有视图模型的导航模型作为参数。如果需要,我可以发布一个示例,但该代码没有什么特别之处。在某些环境中,什么可能导致事件绑定按钮看起来被按下但没有调用处理程序?
摘自测试人员提到的非功能性主要功能之一:
查看:
<GridView ItemsSource="{Binding Source={StaticResource groupedItemsViewSource}}"
ItemClick="ItemView_ItemClick"..
后面的代码:
void ItemView_ItemClick(object sender, ItemClickEventArgs e) { var foodItem = (FoodItemViewModel)e.ClickedItem; var mainViewModel = (MainViewModel)this.DefaultViewModel["MainViewModel"]; mainViewModel.CurrentItem = foodItem;
this.Frame.Navigate(typeof(ItemDetailPageReadOnly), (MainViewModel)mainViewModel); }
来自 ItemDetailPageReadOnly:
protected override void LoadState(Object navigationParameter, 字典页面状态) { if (pageState != null && pageState.ContainsKey("SelectedItem")) { 导航参数 = pageState["SelectedItem"]; }
var mainVm = (MainViewModel)navigationParameter; this.DefaultViewModel["MainViewModel"] = mainVm; this.DefaultViewModel["Item"] = mainVm.CurrentItem; }
如果任何参数为空,而不是测试人员描述的行为,我会期望 NullPointerException。
【问题讨论】:
-
平台中的错误一次。你可以尝试重新提交。你检查过触摸吗?您也可以在模拟器中执行此操作。
-
在我看来,这就是所有 8 次提交被拒绝的原因,所以我认为这种行为是测试人员部分的结果。对于其他开发人员遇到的相关问题,我将不胜感激。我的下一个尝试是用命令绑定替换代码隐藏中的事件处理程序,并在此处找到一种实现页面导航的方法。我还将检查为 LayoutAware 基类生成的模板代码。
-
您可以尝试分享您的一些代码。也许您错过了描述中的某些内容。