private HeaderFooter ChooseHeaderFooter(HeadersFooters hfs, PagePosition pagePos) { if (hfs == null) return null; PageSetup pageSetup = _currentSection.PageSetup; if (pagePos == PagePosition.First) { if (pageSetup.DifferentFirstPageHeaderFooter) return (HeaderFooter)hfs.GetValue("FirstPage", GV.ReadOnly); } if (pagePos == PagePosition.Even || _shownPageNumber/*_currentPage*/ % 2 == 0) { if (pageSetup.OddAndEvenPagesHeaderFooter) return (HeaderFooter)hfs.GetValue("EvenPage", GV.ReadOnly); } return (HeaderFooter)hfs.GetValue("Primary", GV.ReadOnly); }