【发布时间】:2017-01-07 16:33:48
【问题描述】:
与 UI 相关的问题(坐在后端深处真是太好了)。
一些介绍:
在我的项目中,我的 MainPage 带有包含 3 个 PivotItems 的 Pivot Control。还有一个额外的页面,我们称之为 AddPage。
有两个相互关联的DataSource。
PivotItem 编号 2 能够从 DataSource_01 中删除项目。发生这种情况时,DataSource_02 重新计算其内容并返回 PivotItem 编号 1 的新更新集合。但这不会向 DataSource_02 添加新项目,它只是更改一些属性(当前 DataSource_01 有 18 个类别中的 160 个项目,Data source_02 保留此基于DataSource_01的18个类别和对应的类别总和。
PivotItem 编号 1 包含 GridView,其中项目源绑定到 DataSource_02。点击一个项目会触发 AddPage,它可以将项目添加到 DataSource_01。
这是简化的逻辑,并且有效。
问题在于 LayoutUpdate。从 PivotItem_02 上的 DataSource_01 中删除项目后,当我滑动到 PivotItem_01 时,我可以看到每个 GridViewItem 一次弹出一个。我还没有说服自己接受这种行为,所以我在这里。
我宁愿在 PivotItem_02 上预加载 PivotItem_01 的视图。也许在更新 PivotItem_02 之前?有没有办法控制这种行为?
我尝试在数据库更新后运行我的 Pivot 的 UpdateLayout(),但它不起作用。
还有一个转折。
我正在为 Windows 8.1 系统编写我的应用程序,同时在装有 Windows 10 的 Microsoft Lumia 640LTE 设备上对其进行测试。我还有另一台测试设备,即装有 Windows 8.1 的诺基亚 Lumia 530 DS,这台工作正常,布局得到更新在 PivotItem_01 上滑动到它之前。
我已将 _SizeChanged 事件和处理程序添加到 PivotItem_01 控件之一。处理程序在更新 PivotItem_02 时在 Windows 8.1 设备上滑动到它时在 Windows_10 设备上运行。这很令人困惑,但可以解决。我也尝试过在 DataSource_01 中使用仅包含类别和一条记录的新数据源,但它没有改变任何东西。
虽然我认为这不是代码相关问题,但我没有附加任何代码。
亲切的问候,
亚当
【问题讨论】:
标签: c# windows-phone-8.1 pivot