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
Workaround: this.radPageViewPage1.Item.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit;
Show the focus cue of the selected tab in a StripView RadPageView.
Add functionality to the control for selecting pages using access keys.
To reproduce: please refer to the attached sample project and follow the illustarted steps in the attached gif file.
RadPageView - Add support for Kinetic Scrolling.
Feature missing in the Outlook mode of the PageView control is the ability to move a page up or down (i.e., change their order). This is accomplished with an additional menu item called "Navigation Pane Options", and a checked list box with all available pages and up/down buttons. Related to this would be a way to serialize the PageView content and order to XML.
The solution could be similar to the behavior of the control's Outlook mode.
ADD. RadPageView - add scrolling functionality in RadPageViewStackMode where the scroll buttons appear below and above the page items
When RadPageView is in the ExplorerBar view, it should order its pages' bars opposite to the order of the Stack view.
A nice addition to RadPageView will the ability to scroll by pixel or by page.
User should be able to define the position of the strip buttons. For example, the ItemList buttons should be situated on the left side of RadPageView while the scroll buttons should be on the right side.
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();
}
}
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
Let's say that you have RadPageView in ExplorerBar mode and the Content Size mode is set to AutoSizeToBestFit. Dock two buttons in the content area to top. Run the app and you will see that the bottom of the second button is cut in some themes. This is because these themes has a border set to the content area. The border is taken into consideration by the layout and the content is cut even throught there is space for it. This happens with Windows7, Office2010Black and other themes.
One can't set the image scaling of the pages' tabs. For example if you have a big image and you want to scale it down to a size of 10x10, you will not be able to do so.