我想加载一些数据,但在用户第一次观看PivotItem
. 如何查看用户第一次使用特殊物品?...
我可以使用GotFocus
事件并使用类似的变量IsLoaded = false
,但它看起来不太好。
<phone:PivotItem GotFocus="Item_GotFocus">
我想加载一些数据,但在用户第一次观看PivotItem
. 如何查看用户第一次使用特殊物品?...
我可以使用GotFocus
事件并使用类似的变量IsLoaded = false
,但它看起来不太好。
<phone:PivotItem GotFocus="Item_GotFocus">
将每个命名PivotItem
为<phone:PivotItem x:Name="Pivot1"/>
,然后使用Pivot
'sSelectionChanged
private void MyPivot_SelectionChanged(object sender, SelectionChangedEventArgs args)
{
if(e.AddedItems.Contains(Pivot1))
//Do stuff here
}
为了检查他们以前是否去过那里,您可以创建一个List<PivotItem>
并添加已经看过的那些。
private List<PivotItem> _seenPivots;
// The page constructor
public MyPage()
{
//Regular Page initialization
_seenPivots = new List<PivotItem>();
}
然后将SelectionChanged
处理程序更改为:
private void MyPivot_SelectionChanged(object sender, SelectionChangedEventArgs args)
{
if(e.AddedItems.Contains(Pivot1))
{
if(_seenPivots.Contains(Pivot1))
return;
_seenPivots.Add(Pivot1);
//Do stuff here
}
}
希望这对编码有所帮助和快乐!
编辑:添加了第一次检查的部分。
尝试使用 LoadingPivotItem 处理程序
代码片段
XAML
<controls:Pivot Title="MY APPLICATION" x:Name="MyPivotControl" LoadingPivotItem="Pivot_LoadingPivotItem">
C#
private void Pivot_LoadingPivotItem(object sender, PivotItemEventArgs e)
{
switch (MyPivotControl.SelectedIndex)
{
case 0:
MessageBox.Show("First pivot page is actived");
break;
case 1:
MessageBox.Show("Second pivot page is actived");
break;
}
}