- create RadPageView in ExplorerBar mode with just one page - subscribe to the PageExpanded/PageCollapsed events and print the value of the IsContentVisible property in each event handler. The result is that when the event is fired the property is not set.
Steps to reproduce: 1. Add a RadPageView to a form and add a page 2. Add some controls to the page. 3. Open the RadPageView smart tag and click Remove Page 4. Select from Visual Studio Edit->Undo and you will see that the page will be restored but the controls on it will not be restored properly. If one removes the page using the keyboard Delete key the undo functionality of VS works correctly.
Steps to reproduce: 1. Drag a page view to a form and add two pages to it. 2. Add a button on the first page. 3. Drag a button to the form and in its Click event handler add code to change the selected page of the page view to the second one. 4. Add an event handler for the Enter event of the button on the first page. Run the project and when you click the button to change the page you will see that the button on the first page gets the focus.
It would be nice if RadTabStrip/RadDock can support multiple rows of tabs.
When you dynamically remove a page from RadPageView when it is in ExplorerBarView, its header remains on your form.
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.
RadPageView - In BackstageView the tool tip of item close button is showing if you set ShowItemCloseButton property to true. Work Around: set ShowItemCloseButton property to false.
Provide an easier way to change the size of the tabs panel of RadPageView in Backstage mode at design time.
When RadPageView is in Backstage mode, one can only navigate between the tabs in the same group using the arrow keys.
If you run your project in debug mode and try to select a page in the desginer, the designer of RadPageView gets broken.
HandleCreated should fire for all pages in RadPageView
RadPageView localization can be set only before the Application.Run line, otherwise it does not take effect
Under specific circumstances and in Windows 2008 Server environment the RadTabStrip internally used in RadDock does not get a proper size. Workaround: bool performLayout = false; protected override void OnSizeChanged(EventArgs e) { base.OnSizeChanged(e); if (this.WindowState == FormWindowState.Minimized) { this.performLayout = true; } else if (this.performLayout) { //reset padding to force bounds update this.Padding = new Padding(1); this.Padding = Padding.Empty; this.performLayout = false; } } Basically, you need to override the OnSizeChanged method of the main form and first set and then reset its Padding when the it goes from Minimized to another state. This will trigger that internal layout mechanisms of our controls and you will get the RadGridView shown as expected.
FIX. RadPageView - setting the Font of the control or element in OutlookMode does not work The complex structure of the control does not allow applying a font to all inner elements in all views through a single line of code. Here is how to handle the different cases: 1. In Strip view mode set the Font property of the control (RadPageView1.Font) 2. In all other views set the Font property of the ViewElement (RadPageView1.ViewElement.Font). Note that font will be applied only to the items. To set the font of the header and the footer use the following properties: RadPageView1.ViewElement.Header.Font and RadPageView1.ViewElement.Footer.Font.
FIX. RadPageView when color blending is added, the control flickers.
The common for the other RadPageView modes approach for creating custom items does not work for ExplorerBar mode.
The issue appears when the SelectedPageChanging event is cancelled and a MessageBox is shown in the event handler.
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
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
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(); } }