我在从一个页面导航到另一个页面时遇到了一种非常奇怪的行为。也许某人有一个线索可能是什么原因,因为我不知道;)
技术: 适用于Windows(手机)8.1的通用应用程序,带有XAML / C#
所以会发生什么:
奇怪的事实是:
更令人恼火的是: 如果首先使用鼠标输入完成相同的导航,之后通过触摸完成,则它就像魅力一样。
它可在Surface RT 1& amp; 2,戴尔Inspiron 15也带有触摸输入。
不包含任何代码,因为我在命名事件或方法中没有做任何特别的事情,所以它是来自WinRT的简单标准框架导航
我感谢每一个可能导致我理由的想法
答案 0 :(得分:1)
花了几个小时进行调试和试用&错误,事实证明我的源页面上有一个问题(我尝试导航回来的那个)。 它包含一个带有嵌套垂直列表的水平列表,两者都使用某种虚拟化面板(ItemsStackPanel和ItemsWrapGrid)
滚动任何嵌套的垂直列表后,发生inital以显示正确的项目,就会发生错误。删除初始滚动时,一切正常,直到用户手动滚动。似乎设置了某种UI锁定,这会阻止帧的导航。
一个完成它的工作的解决方案是用非虚拟化面板替换所有内部列表的面板。但这对我来说不是一个选择,因为性能很重要,可以显示大量数据。所以我最终会为该视图编写一个完整的自定义解决方案。
由于这不是我在ItemsStackPanel和ItemsWrapGrid中遇到的第一个错误,我只建议不要使用它们,直到你有一个简单的普通列表,其中只有一个项目类型。希望MS将在OS / SDK的后续版本中修复它们