Completed
Last Updated: 26 Mar 2019 11:26 by Dimitar
Please refer to the attached sample project which behavior is illustrated in the gif file. When you load the form, the title of the selected page is not displayed. However, if you select a new page, it is updated accordingly.
Completed
Last Updated: 03 Dec 2018 08:33 by Dimitar
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.
Completed
Last Updated: 12 Oct 2018 09:29 by Dimitar
When you set the RightToLeft property to Yes, you will obtain incorrect layout. Please refer to the attached gif file.
Completed
Last Updated: 28 Sep 2018 07:56 by Dimitar
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);
                    }
                }
            }
        }
Completed
Last Updated: 09 Oct 2018 07:49 by Dimitar
Under Review
Last Updated: 11 Sep 2018 11:43 by ADMIN
To reproduce:
- Open attached project and add a lot of pages. 
- Close all pages 
- The GDI object count increases. 

Workaround:
GC.Collect();
GC.WaitForPendingFinalizers();
GC.WaitForFullGCApproach();
GC.WaitForFullGCComplete();
GC.Collect();
Completed
Last Updated: 14 Sep 2018 15:14 by ADMIN
To reproduce: please follow the steps illustrated in the attached gif file. 

Workaround: add pages as follows: Click the Smart Tag of RadPageView and then click the Add Page link five times. Additional information how to get started with RadPageView is available in the following help article: https://docs.telerik.com/devtools/winforms/pageview/stripview/getting-started
Approved
Last Updated: 20 Dec 2017 09:30 by ADMIN
Workaround: this.radPageViewPage1.Item.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit;
Approved
Last Updated: 19 Jun 2017 11:11 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Sr.
Comments: 0
Category: PageView
Type: Bug Report
1
To reproduce: please refer to the attached sample project and gif file. The purpose is to select the last added page. However, the multi-line tabs are not ordered correctly at all compared to the TabControl.
Completed
Last Updated: 15 Aug 2017 11:03 by ADMIN
To reproduce: please refer to the attached sample project and follow the illustarted steps in the attached gif file.
Completed
Last Updated: 19 Jun 2017 12:31 by ADMIN
Steps to reproduce: 
1. Set the main screen on 125-percent scale
2. Run attached sample application (1107416 RadPageView Issue.zip). 
3. Click menu item "ShowPageView". After showing the page view in a DocumentWindow, the SelectedPageChanging/SelectedPageChanged events are fired twice. 

Workaround: 
Replace RadPageView with custom one: 
public class CustomPageView : RadPageView
{
    protected override void ScaleControl(SizeF factor, BoundsSpecified specified)
    {
        this.SuspendEvents();
        base.ScaleControl(factor, specified);
        this.ResumeEvents();
    }
}
Approved
Last Updated: 05 Apr 2017 14:48 by ADMIN
How to reproduce: check the attached project:

Workaround: when the form is opened in the designer make sure that all pages are made visible at least ones so the controls are initialized, before attempting to access collection editors via properties window

Completed
Last Updated: 16 Feb 2017 07:23 by ADMIN
Currently the pages are wrapped around, i.e. when one reaches the last pages and select next using the down arrow key the first page gets selected

Workaround: 
Public Class MyRadPageView
    Inherits RadPageView

    Public Overrides Property ThemeClassName As String
        Get
            Return GetType(RadPageView).FullName
        End Get
        Set(value As String)
            MyBase.ThemeClassName = value
        End Set
    End Property

    Protected Overrides Function CreateUI() As RadPageViewElement
        Select Case Me.ViewMode
            Case PageViewMode.Stack
                Return New RadPageViewStackElement()
            Case PageViewMode.Outlook
                Return New RadPageViewOutlookElement()
            Case PageViewMode.ExplorerBar
                Return New RadPageViewExplorerBarElement()
            Case PageViewMode.Backstage
                Return New MyRadPageViewBackstageElement()
            Case Else
                Return New RadPageViewStripElement()
        End Select
    End Function

End Class

Public Class MyRadPageViewBackstageElement
    Inherits RadPageViewBackstageElement

    Protected Overrides ReadOnly Property ThemeEffectiveType() As Type
        Get
            Return GetType(RadPageViewBackstageElement)
        End Get
    End Property

    Protected Overrides Function SelectNextItemCore(current As RadPageViewItem, forward As Boolean, wrap As Boolean) As Boolean
        Return MyBase.SelectNextItemCore(current, forward, False)
    End Function

    Protected Overrides Sub ProcessKeyDown(e As KeyEventArgs)
        If Me.IsNextKey(e.KeyCode) AndAlso Not Me.IsEditing Then
            Me.SelectNextItem()
        ElseIf Me.IsPreviousKey(e.KeyCode) AndAlso Not Me.IsEditing Then
            Me.SelectPreviousItem()
        ElseIf e.KeyCode = Keys.Home AndAlso Not Me.IsEditing Then
            Me.Owner.SelectedPage = Nothing
            Me.SetSelectedItem(Me.Items.First())
        ElseIf e.KeyCode = Keys.End AndAlso Not Me.IsEditing Then
            Me.Owner.SelectedPage = Nothing
            Me.SetSelectedItem(Me.Items.Last())
        ElseIf e.KeyCode = Keys.F2 Then
            BeginEdit()
        ElseIf e.KeyCode = Keys.Escape Then
            CancelEdit()
        ElseIf e.KeyCode = Keys.Enter AndAlso Me.IsEditing AndAlso Me.ActiveEditor.Validate() Then
            EndEdit()
        End If
    End Sub

End Class
Approved
Last Updated: 21 Nov 2016 13:01 by ADMIN
To reproduce: use the following code snippet:

public RadForm1()
{
    InitializeComponent();

    this.radPageView1.Pages.Add(new RadPageViewPage("My page"));
    RadPageViewStripElement stripElement = this.radPageView1.ViewElement as RadPageViewStripElement;
    stripElement.StripButtons = StripViewButtons.ItemList;

    this.radPageView1.ItemListMenuDisplaying += radPageView1_ItemListMenuDisplaying;
}

private void radPageView1_ItemListMenuDisplaying(object sender, RadPageViewMenuDisplayingEventArgs e)
{
    e.Items.Clear();
    RadMenuItem item = new RadMenuItem("aaa");
    e.Items.Add(item);
}


Click the overflow button to open the drop down and select the item. When you open the overflow popup again you will notice that the item is duplicated although you clear the items in the ItemListMenuDisplaying event.

Workaround: dispose the item when it is clicked

private void radPageView1_ItemListMenuDisplaying(object sender, RadPageViewMenuDisplayingEventArgs e)
{
    e.Items.Clear();
    RadMenuItem item = new RadMenuItem("aaa");
    item.Click += item_Click;
    e.Items.Add(item);
}

private void item_Click(object sender, EventArgs e)
{
    RadMenuItem item = sender as RadMenuItem;
    if (item != null)
    {
        item.Click -= item_Click;
        item.Dispose();
    }
}
Approved
Last Updated: 11 Jul 2016 12:03 by ADMIN
To reproduce: 

for (int i = 0; i < 20; i++)
{
    this.radPageView1.Pages.Add(new RadPageViewPage("Page" + i));
}

this.radPageView1.ViewMode = PageViewMode.Backstage;

Only a few of the pages are visible and the user is not allowed to scroll to see the rest of them.

Workaround: 
1. Make use of the strip buttons:

            RadPageViewBackstageElement el = this.radPageView1.ViewElement as RadPageViewBackstageElement;
            el.ItemContainer.ButtonsPanel.Visibility = ElementVisibility.Visible; 

2. Place the control in RadScrollablePanel

 RadScrollablePanel scrollablePanel = new RadScrollablePanel();
            scrollablePanel.Dock =  DockStyle.Fill;
            this.Controls.Add(scrollablePanel);

            RadPageView pageView = new RadPageView();
            pageView.ViewMode = PageViewMode.Backstage;
            scrollablePanel.Controls.Add(pageView);

            for (int i = 0; i < 50; i++)
            {
                pageView.Pages.Add(new RadPageViewPage("Page " + i.ToString()));
            }

            
            pageView.Size = new System.Drawing.Size(1000,2500);
Completed
Last Updated: 28 Jun 2016 10:18 by ADMIN
To reproduce:

1. Add a RadPageView with several pages.
2. Disabled some of the pages.
3. When running the application, try to navigate through pages with the arrow keys. You will notice that the disabled pages are also selected.

Workaround: 

public class CustomPageView : RadPageView
{
    public override string ThemeClassName  
    { 
        get 
        { 
            return typeof(RadPageView).FullName;  
        }
    }

    protected override RadPageViewElement CreateUI()
    {
        if (this.ViewMode == PageViewMode.Strip)
        {
            return new CustomViewElement();
        }
        return base.CreateUI();
    }
}

public class CustomViewElement : RadPageViewStripElement
{
    protected override Type ThemeEffectiveType     
    { 
        get    
        { 
            return typeof(RadPageViewStripElement);     
        }
    }

    protected override bool CanSelectItem(RadPageViewItem item)
    {
        bool result= base.CanSelectItem(item);
        return result && item.Enabled;
    }
}
Declined
Last Updated: 25 Aug 2016 11:25 by ADMIN
Completed
Last Updated: 15 Aug 2016 09:44 by ADMIN
To reproduce:
- Add a RadPageView with several pages to a form.
- View the tabs by setting the SelectedTab property.
- Create a form instance and show it with the ShowDialog method.
- Select the second tab.
- Reopen the form and select a tab after the second. You will notice that the content is not changed.
 
Workaround:
Create a new instance each time when the form is shown.

1 2 3 4 5