Completed
Last Updated: 13 Mar 2024 08:49 by ADMIN
Release 2024.1.312
Created by: Bert
Comments: 1
Category: PageView
Type: Bug Report
1

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;

Completed
Last Updated: 07 Jul 2020 08:23 by ADMIN
Release R3 2020 (LIB 2020.2.713)

How to reproduce: 

public Form1()
{
    InitializeComponent();

    this.radPageView1.ItemSizeMode = Telerik.WinControls.UI.PageViewItemSizeMode.EqualSize;
    this.radPageView1.ItemSize = new Size(50, 20);
}

Completed
Last Updated: 12 Jun 2020 16:05 by ADMIN
Release R2 2020 SP1

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

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: 03 Aug 2021 13:39 by ADMIN
Release R3 2021
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
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
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();
    }
}
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
Completed
Last Updated: 28 Jun 2016 10:18 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: PageView
Type: Bug Report
1
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;
    }
}
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.

Completed
Last Updated: 11 Nov 2015 11:08 by ADMIN
To reproduce: 
1. Drag and drop RadPageView on the form
2. Select the control and open a smart tag 
3. You will see that the 'Dock in parent container' option is not added 
Completed
Last Updated: 10 Sep 2015 09:39 by ADMIN
Hello,
PageView with Windows8 Theme, ViewMode Stack, Stack Position Left
Tabs are drawn incorrectly, see attachment.
can i work around this issue?
Thanks
Completed
Last Updated: 11 May 2015 10:27 by ADMIN
To reproduce:
- Add RadPageView change the view  to ExplorerBar and add some pages with controls.
- Start the application expand all pages and scroll.

Workaround:
class MyPageView : RadPageView
{
    protected override RadPageViewElement CreateUI()
    {
        if (this.ViewMode == PageViewMode.ExplorerBar)
        {
            return new MyExplorerBarElement();
        }
        return base.CreateUI();
    }
   
}

class MyExplorerBarElement : RadPageViewExplorerBarElement
{
    protected override bool IsChildElementExternal(Telerik.WinControls.RadElement element)
    {
        return !(element is RadPageViewElementBase) && base.IsChildElementExternal(element);
    }
    protected override Type ThemeEffectiveType
    {
        get
        {
            return typeof(RadPageViewExplorerBarElement);
        }
    }
}
Completed
Last Updated: 08 Dec 2014 12:25 by ADMIN
To reproduce:
1. Add a RadPageView with no pages and set its Dock property to Fill.
2. Set the ViewMode property to ExplorerBar at design time.
3. Use the following code snippet:

private void AddOutputPage(int index)
{
    string title = "Test-Page " + index;
    RadPageViewPage page = new RadPageViewPage(title);
    this.radPageView1.Pages.Add(page); 
}

private void Form1_Load(object sender, EventArgs e)
{
    for (int i = 0; i < 20; ++i)
        AddOutputPage(i);
}

As a result the current page header at the top of the RadPageView is not displayed until you resize the pageview.
1 2 3 4