每次用户滑动数据透视表项时,我都会尝试添加新的数据透视表项。添加新项目并删除旧项目。 (Pivot Headers和Items在首次加载时正确绑定)。
我在加载枢轴事件
中有以下代码private void Pivot_LoadingPivotItem(object sender, PivotItemEventArgs e)
{
try
{
++App.SuraID;
p = new PageViewModel();
//this.pv.DataContext = p.Pages;
this.pv.ItemsSource = p.Pages;
p.OnPropertyChanged("Pages");
pv.UpdateLayout();
}
catch (Exception ex)
{
}
}
和PageViewModel构造函数
public PageViewModel()
{
Pages = new ObservableCollection<ArticlePage>();
DataSource ds = new DataSource();
List<ArabicTextWithTranslation> ls = null;
Chapter ch = ds.getChapter(App.SuraID);
ls = ds.getArabicTextWithTranslation(ch);
if (App.SuraID == 1) // Just to make Pivot on first run
{
Pages.Add(new ArticlePage() { Header = ch.SuraName, ArticleList = new ObservableCollection<Article> { new Article() { MyChapter = ch } } });
Pages.Add(new ArticlePage() { Header = ch.SuraName, ArticleList = new ObservableCollection<Article> { new Article() { MyChapter = ch } } });//
}
else
Pages.Add(new ArticlePage() { Header = ch.SuraName, ArticleList = new ObservableCollection<Article> { new Article() { MyChapter = ch } } });//
}
如何将新的枢轴项添加到枢轴控制?
答案 0 :(得分:0)
您实际上需要在枢轴控件中添加和删除枢轴项! 但是有一个很酷的助手类可以用来简化它......看看这里解释的详细例子:http://www.ree7.fr/blog/2014/01/data-binding-pivotitem-visibility-an-helper/
如果你想要一些更多的控制,你可以自己做,这个的一个工作例子可以在我的github项目中看到:https://github.com/Depechie/GF13/blob/master/AppCreativity.GentseFeesten.WP8/AppCreativity.GentseFeesten.WP8/View/MainPage.xaml.cs#L51 在这里,我根据用户在页面上选择的内容在集合中添加或删除数据透视项。