【发布时间】:2013-12-23 16:13:57
【问题描述】:
这个问题困扰了我 2 天,我似乎无法解决它。
我有一个 Pivot,我会根据所选内容动态添加 PivotItems。我使用 SelectionChanged 事件并在事件处理程序中清除并添加新项目。之后选择正确的项目我改变了 selectedindex 但它似乎在函数之外发生了变化。我将提交处理程序(请注意,这是一个基于 Pivot 类的类。我的称为 CalendarPivot,项目称为 CalendarPivotItem)
private void CalendarPivot_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
this.SelectionChanged -= CalendarPivot_SelectionChanged;
this.zoomDate = ((CalendarPivotItem)Items.ElementAtOrDefault(SelectedIndex)).date;
this.Items.Clear();
this.Items.Add(new CalendarPivotItem(zoomDate, 2));
this.Items.Add(new CalendarPivotItem(zoomDate.AddMonths(1), 2));
this.Items.Add(new CalendarPivotItem(zoomDate.AddMonths(-1), 2));
this.SelectedIndex = 0;
this.SelectionChanged += CalendarPivot_SelectionChanged;
}
【问题讨论】:
-
您可以尝试将事件处理程序与发件人分离吗?
-
试过了,没用。问题似乎与函数执行后更改 selectedindex 的基类有关
标签: c# windows-phone-8 event-handling pivot selectionchanged