0

Windows Phone 8,银光。我有一个PivotItem在页面 XAML 下的ResourceDictionary页面中声明的,因为我不希望它最初出现并且 PivotItems 没有动态可见性。时机成熟时,我取出对象,将其从资源中移除并将其添加到 Pivot。它可以工作,但是由于某种原因,Load 事件被触发了两次 - 一次是在页面加载时,一次是在我将其插入 Pivot 时。

我宁愿只进行一次 OnLoaded 处理。

这是设计使然吗?有办法吗?是否有类似的事件在对象初始化时触发一次(构造函数除外)?

我可以通过引入一个 init-once 布尔标志来解决这个问题,但仍然如此。

4

2 回答 2

1

您可以尝试 OnNavigatedTo。加载的事件可以在可视化树中的几乎所有项目上触发。如果您要折叠pivotItem 上的项目但不折叠pivotItem 本身,则挂钩到父Grid 容器。

最终,可以删除 Pivot 控件的子控件

myPivotControl.Items.Remove(item);

并且您可以以相同的方式添加一个项目

myPivotControl.Items.Add(项目)

但是,我怀疑使用不同的事件会得到更好的结果。父枢轴具有添加和删除项目的事件。此链接将带您到 Pivot 类的文档。此外,此链接将带您进入 PivotItem 类。

于 2012-11-09T22:13:53.103 回答
0

您可以PivotItem在开始时将其折叠起来,然后在需要时使其可见。

于 2012-11-08T23:21:48.050 回答