public WebNavigationItemArgs(Control navigationItem, WebNavigation parentNavigation, INavigationPage pageData, bool isSelected, bool isInSelectedPath, int itemIndex, bool isFirstItem, bool isLastItem, bool expandingLevel, bool isChildOfRemovedNode, WebNavigation subNavigation) : base(pageData) { if (navigationItem == null) { throw new ArgumentNullException("navigationItem"); } if (parentNavigation == null) { throw new ArgumentNullException("parentNavigation"); } this.parentNavigation = parentNavigation; this.SubNavigation = subNavigation; this.navigationItem = navigationItem; this.IsSelected = isSelected; this.IsInSelectedPath = isInSelectedPath; this.IsChildOfRemovedNode = isChildOfRemovedNode; this.ItemIndex = itemIndex; this.IsFirstItem = isFirstItem; this.IsLastItem = isLastItem; this.ExpandingLevel = expandingLevel; }
protected virtual void PopulateSubNavigation(WebNavigation subNavigation, INavigationPage navigationPage) { subNavigation.HeadingVisible = false; subNavigation.ExpandAll = this.ExpandAll; subNavigation.SelectedPageClickable = this.SelectedPageClickable; subNavigation.ShowOnlyPagesInPath = this.ShowOnlyPagesInPath; subNavigation.IndicateIfNodeHasChildren = this.IndicateIfNodeHasChildren; subNavigation.AlwaysPlaceSpanAroundNavItem = this.AlwaysPlaceSpanAroundNavItem; subNavigation.HideSelectedPage = this.HideSelectedPage; subNavigation.IncludeChildrenOfRemovedNodesMode = this.IncludeChildrenOfRemovedNodesMode; subNavigation.NumberOfLevels = this.NumberOfLevels - 1; if (subNavigation.RootPage == null) { subNavigation.RootPage = GetNavigationPage(navigationPage.ParentId); } if (subNavigation.NavPage == null) { subNavigation.NavPage = navigationPage; } if (subNavigation.SelectedNavigationPage == null) { subNavigation.SelectedNavigationPage = this.SelectedNavigationPage; } if (subNavigation.HeaderTemplate == null) { var defaultHeaderTemplate = this.HeaderTemplate as DefaultHeaderTemplate; if (defaultHeaderTemplate != null && (defaultHeaderTemplate.Id != null || defaultHeaderTemplate.CssClass != null)) { subNavigation.HeaderTemplate = new DefaultHeaderTemplate(null, null); } else { subNavigation.HeaderTemplate = this.HeaderTemplate; } } subNavigation.RenderId = false; subNavigation.CssClass = null; if (subNavigation.ItemTemplate == null) { subNavigation.ItemTemplate = this.ItemTemplate; } if (subNavigation.FooterTemplate == null) { subNavigation.FooterTemplate = this.FooterTemplate; } if (subNavigation.PopulateNavigationItemDelegate == null) { subNavigation.PopulateNavigationItemDelegate = this.PopulateNavigationItemDelegate; } if (subNavigation.GetNavigationItemNameDelegate == null) { subNavigation.GetNavigationItemNameDelegate = this.GetNavigationItemNameDelegate; } if (subNavigation.GetNavigationItemLinkDelegate == null) { subNavigation.GetNavigationItemLinkDelegate = this.GetNavigationItemLinkDelegate; } if (subNavigation.GetNavigationItemDelegate == null) { subNavigation.GetNavigationItemDelegate = this.GetNavigationItemDelegate; } if (subNavigation.GetNavigationAnchorDelegate == null) { subNavigation.GetNavigationAnchorDelegate = this.GetNavigationAnchorDelegate; } if (subNavigation.CreateWebNavigationControlDelegate == null) { subNavigation.CreateWebNavigationControlDelegate = this.CreateWebNavigationControlDelegate; } }