After disabling the whole form with the controls in it, and the enable it again, the other controls are enabled but the StripItems (radPageViewPage) does not enable.
When you set a certain page visibility to hidden or collpased (radPageViewPage2.Item.Visibility = Telerik.WinControls.ElementVisibility.Hidden;) and then navigate with Left and Right arrow keys, you are able to navigate to a hidden page.
The header does not fill its content area entirely when Windows7 theme is used.
I have created a RadForm in a sample winforms project and dropped a RadPageView control on the form. Then created three pages and dropped a user control on the page 1 and page 2. Now when I navigate to page 3 from page and page 2 then Visual Studio gets not responding and crashes later.
I am recently downloaded the trial version of Telerik Winforms(2024.2.514) and found this issue with User controls. Previous versions also have same issue.
Recording of the issue as well as sample project is attached.
When you have RadPageView within a RadDock only the selected page is visible and its content is shown. When you select another page it is blank.
Workaround:
For Each page As RadPageViewPage In Me.rpvMain.PagesFIX. RadPageView - setting a Backcolor to a RadPageViewPage does not affect it until the designer is refreshed
The solution could be similar to the behavior of the control's Outlook mode.
FIX. RadPageView in ExplorerBar mode- the page items are getting hidden when page with auto size content is expanded.
A possible workaround here is to make the panel parent of the buttons visible.
RadPageViewStripElement element = this.radPageView1.ViewElement as RadPageViewStripElement;
element.ItemContainer.ButtonsPanel.DrawFill = true;
element.ItemContainer.ButtonsPanel.NumberOfColors = 1;
Add scroll to a PanelBarGroupElement functionality
ADD. RadPageView - add scrolling functionality in RadPageViewStackMode where the scroll buttons appear below and above the page items
To reproduce: add a RadPageView in NavigationView and set the following property: Dim view As RadPageViewNavigationViewElement = TryCast(Me.RadPageView1.ViewElement, RadPageViewNavigationViewElement) view.CollapsedPaneWidth = 300 The expected result is that the navigation view default's width is set to 300 when loading. However, it is adjusted when you expand and collapse the hamburger.
When you set the RightToLeft property to Yes, you will obtain incorrect layout. Please refer to the attached gif file.
Workaround: public class CustomPageView : RadPageView { public override string ThemeClassName { get { return typeof(RadPageView).FullName; } } protected override RadPageViewElement CreateUI() { if (this.ViewMode == PageViewMode.NavigationView) { return new CustomRadPageViewNavigationViewElement(); } return base.CreateUI(); } } public class CustomRadPageViewNavigationViewElement : RadPageViewNavigationViewElement { protected override Type ThemeEffectiveType { get { return typeof(RadPageViewNavigationViewElement); } } public override void Expand() { if (!this.IsCollapsed) { return; } FieldInfo pi = typeof(RadPageViewNavigationViewElement).GetField("isCollapsed", BindingFlags.NonPublic | BindingFlags.Instance); pi.SetValue(this, false); this.ItemContainer.Visibility = ElementVisibility.Visible; NavigationViewDisplayModes mode = this.GetEffectiveDisplayMode(this.Size.Width); if (mode == NavigationViewDisplayModes.Expanded) { this.ItemContainer.MinSize = new Size(this.ExpandedPaneWidth, 0); } else { this.PopupStack.Children.Insert(0, this.HamburgerButton); if (!this.PopupStack.Children.Contains(this.ItemContainer)) { this.PopupStack.Children.Add(this.ItemContainer); } this.HamburgerButton.Alignment = this.RightToLeft ? ContentAlignment.TopRight : ContentAlignment.TopLeft; this.HamburgerButton.StretchHorizontally = true; this.ItemContainer.ItemLayout.SetValue(RadPageViewStripElement.StripAlignmentProperty, StripViewAlignment.Right); this.ItemContainer.ResetValue(RadElement.MinSizeProperty, ValueResetFlags.Animation); this.ItemContainer.MinSize = new Size(this.ExpandedPaneWidth, 0); this.ItemContainer.MaxSize = Size.Empty; foreach (RadPageViewItem item in this.Items) { item.DrawText = true; } if (this.Popup.ElementTree.RootElement.ElementState != ElementState.Loaded) { Size size = new Size(this.ExpandedPaneWidth, (int)this.DesiredSize.Height); this.Popup.LoadElementTree(size); } ApplyThemeToPopup(this.ElementTree, this.Popup); this.Popup.Size = new Size(this.ExpandedPaneWidth, (int)this.DesiredSize.Height); this.Popup.DropDownAnimationDirection = this.RightToLeft ? RadDirection.Left : RadDirection.Right; this.Popup.HorizontalPopupAlignment = this.RightToLeft ? HorizontalPopupAlignment.RightToRight : HorizontalPopupAlignment.LeftToLeft; this.Popup.VerticalPopupAlignment = VerticalPopupAlignment.TopToBottom; this.Popup.RootElement.BackColor = this.BackColor; this.Popup.Show(this.PointToScreen(this.RightToLeft ? new Point(this.Bounds.Right, this.Bounds.Top) : new Point(this.Bounds.Left, this.Bounds.Top))); } } public override void Collapse() { if (this.IsCollapsed) { return; } FieldInfo pi = typeof(RadPageViewNavigationViewElement).GetField("isCollapsed", BindingFlags.NonPublic | BindingFlags.Instance); pi.SetValue(this, true); foreach (RadPageViewItem item in this.Items) { item.DrawText = false; } NavigationViewDisplayModes mode = this.GetEffectiveDisplayMode(this.Size.Width); if (mode == NavigationViewDisplayModes.Expanded) { this.ItemContainer.MinSize = new Size(this.CollapsedPaneWidth, 0); } else { FieldInfo fi = typeof(RadPageViewNavigationViewElement).GetField("programmaticallyClosingPopup", BindingFlags.NonPublic | BindingFlags.Instance); fi.SetValue(this, true); this.Popup.ClosePopup(RadPopupCloseReason.Mouse); this.HamburgerButton.StretchHorizontally = false; fi = typeof(RadPageViewNavigationViewElement).GetField("programmaticallyClosingPopup", BindingFlags.NonPublic | BindingFlags.Instance); fi.SetValue(this, false); if (mode == NavigationViewDisplayModes.Compact) { this.ItemContainer.MinSize = new Size(this.CollapsedPaneWidth, 0); this.ItemContainer.MaxSize = new Size(this.CollapsedPaneWidth, 0); if (!this.Children.Contains(this.ItemContainer)) { this.Popup.RootElement.ResetValue(RadItem.BackColorProperty, ValueResetFlags.Local); this.Children.Insert(0, this.ItemContainer); } } if (!this.Children.Contains(this.HamburgerButton)) { this.HamburgerButton.ResetValue(AlignmentProperty, ValueResetFlags.Local); this.Children.Add(this.HamburgerButton); } } } }
I attached a video and the code I used. I am trying to remove and add pageviews. (I would hide them it i knew how)
When I add the pageview back in while the hamburger menu is closed it somewhat expands the tabs. I would like it to leave it closed