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;
How to reproduce:
public Form1()
{
InitializeComponent();
this.radPageView1.ItemSizeMode = Telerik.WinControls.UI.PageViewItemSizeMode.EqualSize;
this.radPageView1.ItemSize = new Size(50, 20);
}
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
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.
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
To reproduce: please refer to the attached sample project and follow the illustarted steps in the attached gif file.
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(); } }
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; } }
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.
Hello, PageView with Windows8 Theme, ViewMode Stack, Stack Position Left Tabs are drawn incorrectly, see attachment. can i work around this issue? Thanks
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); } } }
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.
Workaround: public Form1() { InitializeComponent(); this.radPageView1.RightToLeft = System.Windows.Forms.RightToLeft.Yes; } public class CustomPageView : RadPageView { public override string ThemeClassName { get { return typeof(RadPageView).FullName; } } protected override RadPageViewElement CreateUI() { switch (this.ViewMode) { case PageViewMode.Strip: return new CustomRadPageViewStripElement(); default: return base.CreateUI(); } } } public class CustomRadPageViewStripElement : RadPageViewStripElement { public CustomRadPageViewStripElement() { } protected override Type ThemeEffectiveType { get { return typeof(RadPageViewStripElement); } } protected override bool IsNextKey(Keys key) { if (this.RightToLeft) { if (key == Keys.Left) { return true; } else { return false; } } return base.IsNextKey(key); } protected override bool IsPreviousKey(Keys key) { if (this.RightToLeft) { if (key == Keys.Right) { return true; } else { return false; } } return base.IsPreviousKey(key); } }
To reproduce: Create a RadPageView and add these items: RadPageView pageView = new RadPageView { Parent = this, Dock = DockStyle.Fill, ViewMode = PageViewMode.Outlook }; pageView.Pages.Add(new RadPageViewPage("Machines")); pageView.Pages.Add(new RadPageViewPage("Users")); pageView.Pages.Add(new RadPageViewPage("Software")); pageView.Pages.Add(new RadPageViewPage("Queries")); pageView.Pages.Add(new RadPageViewPage("Reports")); pageView.Pages.Add(new RadPageViewPage("License Manager Servers")); You will see that the Users and Reports items will be auto ellipsed. Workaround: Change the font of the item. Changing the style should be enough: foreach (RadPageViewItem item in (pageView.ViewElement as RadPageViewOutlookElement).Items) { item.AutoEllipsis = false; }
To reproduce: 1. Add RadPageView with several pages 2. Set the Text property of page to "Payers & Frequencies" this.radPageViewPage2.Text = "Payers & Frequencies"; RadPageViewStripElement strip = (RadPageViewStripElement)this.radPageView1.ViewElement; strip.StripButtons = StripViewButtons.All; 3. Run the project and open the ItemListMenu(available pages) and you will see that name of page is "Payers _Frequencies" Workaround: 1. Subscribe to ItemListMenuDisplaying event and set UseMnemonic property to false: void radPageView1_ItemListMenuDisplaying(object sender, RadPageViewMenuDisplayingEventArgs e) { foreach (RadMenuItem listMenuItem in e.Items) { TextPrimitive textPrimitive = listMenuItem.Layout.TextPanel.Children[0] as TextPrimitive; textPrimitive.UseMnemonic = false; } }
To reproduce: Add a page to RadPageView with ViewMode set to ExplorerBar. Add controls so that the scrollbar appears.Set AutoScroll to true. Now if you tab through the controls you will see visual glitches and incorrect behavior.