Windows phone 7 windows phone 7中的Pivot控件何时调用SelectionChanged事件?

Windows phone 7 windows phone 7中的Pivot控件何时调用SelectionChanged事件?,windows-phone-7,pivot,Windows Phone 7,Pivot,为什么有时在Pivot控件上设置ItemsSource属性会调用SelectionChanged事件,有时则不会 myPivot.ItemsSource=(ObservableCollections)someList 似乎当我从应用程序列表启动应用程序时,如果我设置ItemsSource,SelectionChanged事件总是被调用。但是,如果我离开,删除应用程序(点击主页按钮),然后返回(点击后退按钮)到原始页面,即使设置了ItemsSource,SelectionChanged也不会出现。

为什么有时在Pivot控件上设置ItemsSource属性会调用SelectionChanged事件,有时则不会

myPivot.ItemsSource=(ObservableCollections)someList


似乎当我从应用程序列表启动应用程序时,如果我设置ItemsSource,SelectionChanged事件总是被调用。但是,如果我离开,删除应用程序(点击主页按钮),然后返回(点击后退按钮)到原始页面,即使设置了ItemsSource,SelectionChanged也不会出现。

Windows Phone 7.1(Mango)中的行为发生了变化。由于新的“快速恢复”改进,枢轴控制现在自动保持位置,因此您不再需要保持所选枢轴

出于同样的原因,永远不会调用SelectionChanged事件,因为selection永远不会更改


对于Windows Phone 7.0(NoDo),您需要在返回时设置Pivot.SelectedIndex(最好在Pivot.Loaded事件中完成)

Windows Phone 7.1(Mango)中的行为发生了变化。由于新的“快速恢复”改进,枢轴控制现在自动保持位置,因此您不再需要保持所选枢轴

出于同样的原因,永远不会调用SelectionChanged事件,因为selection永远不会更改


对于Windows Phone 7.0(NoDo),您需要在返回时设置Pivot.SelectedIndex(最好在Pivot.Loaded事件中完成)

你能在返回时将代码张贴在设置数据透视索引的地方吗?(很可能是您的OnNavigatedTo方法)我没有将OnNavigatedTo中的Pivot.ItemsSource绑定到(…)。在MainPage.xaml.cs的构造函数中,我创建了一个BackgroundWorker,将我的数据加载到DoWork中,然后将数据绑定到RunWorkerCompleted中。我所说的是在设置数据透视索引时。我从未显式设置数据透视索引。我做了一个简单的Pivot.ItemsSource=可观察的集合。我注意到当我这样做时,Pivot.SelectionChanged被提升。你建议我那样做吗?此外,我没有看到Pivot.PivotIndex属性,您是指Pivot.SeleteTeditIndex吗?我没有找到Pivot.PivotIndex,但我对Pivot.SelectedIndex和Pivot.SelectedItem做了一些修改。我注意到,即使Pivot.SelectedIndex>=0,Pivot.SelectedItem仍然可以为null。我只是添加了if(Pivot.SelectedItem==null)Pivot.SelectedItem=\u myList[0],现在SelectedChanged被引发。谢谢你的提示。你能在返回时将设置数据透视索引的代码发布到哪里吗?(很可能是您的OnNavigatedTo方法)我没有将OnNavigatedTo中的Pivot.ItemsSource绑定到(…)。在MainPage.xaml.cs的构造函数中,我创建了一个BackgroundWorker,将我的数据加载到DoWork中,然后将数据绑定到RunWorkerCompleted中。我所说的是在设置数据透视索引时。我从未显式设置数据透视索引。我做了一个简单的Pivot.ItemsSource=可观察的集合。我注意到当我这样做时,Pivot.SelectionChanged被提升。你建议我那样做吗?此外,我没有看到Pivot.PivotIndex属性,您是指Pivot.SeleteTeditIndex吗?我没有找到Pivot.PivotIndex,但我对Pivot.SelectedIndex和Pivot.SelectedItem做了一些修改。我注意到,即使Pivot.SelectedIndex>=0,Pivot.SelectedItem仍然可以为null。我只是添加了if(Pivot.SelectedItem==null)Pivot.SelectedItem=\u myList[0],现在SelectedChanged被引发。谢谢你的提示。7.1 SDK现在完成了吗?我还在用7.0。是的。芒果前几天去了RTM。但是如果您使用的是7.0,那么让我们看看您的代码。7.1 SDK现在完成了吗?我还在用7.0。是的。芒果前几天去了RTM。但是如果您使用的是7.0,那么让我们看看您的代码。