【问题标题】:Windows Store app button respond to click but event is not fired successfullyWindows 应用商店应用按钮响应单击但未成功触发事件
【发布时间】: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 基类生成的模板代码。
  • 您可以尝试分享您的一些代码。也许您错过了描述中的某些内容。

标签: windows-store-apps


【解决方案1】:

您应该使用更高级别的事件之一,除非您需要响应手势的特定部分。 http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh994936.aspx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多