public IEnumerable <FacingPages> GetStartingData() { ObservableCollection <FacingPages> gridData = new ObservableCollection <FacingPages>(); FacingPages pages = new FacingPages(); pages.ID = 0; pages.Type = FacingPagesTypes.DEFAULT; gridData.Add(pages); pages = new FacingPages(); pages.ID = 1; pages.Type = FacingPagesTypes.NO_HEADER; gridData.Add(pages); pages = new FacingPages(); pages.ID = 2; pages.Type = FacingPagesTypes.SINGLE_PAGE; gridData.Add(pages); for (int i = 3; i < 65; i++) { pages = new FacingPages(); pages.ID = i; pages.Type = FacingPagesTypes.DEFAULT; gridData.Add(pages); } return(gridData); }
public override DataTemplate SelectTemplate(object item, DependencyObject container) { FacingPages facingPages = item as FacingPages; FrameworkElement element = container as FrameworkElement; if (facingPages == null || element == null) { return(null); } switch (facingPages.Type) { case FacingPagesTypes.DEFAULT: // We have numbers on top and header. // Assuming we have both left and right single pages. return(element.FindResource("FacingPagesTemplateDefault") as DataTemplate); case FacingPagesTypes.NO_HEADER: // We have just the numbers on top. // Assuming we have both left and right single pages. return(element.FindResource("FacingPagesTemplateNoHeader") as DataTemplate); case FacingPagesTypes.SINGLE_PAGE: // We have numbers on top and header. // Assuming we have both left and right single pages. return(element.FindResource("FacingPagesTemplateJustLeftPage") as DataTemplate); default: // In case we have Type not handled above use default one... return(element.FindResource("FacingPagesTemplateDefault") as DataTemplate); } }